Rumah Kewangan Peribadi Memampatkan Data dalam Hadoop - dummies

Memampatkan Data dalam Hadoop - dummies

Video: How To Compress Large Video Files On Mac Without Losing Video Quality 2024

Video: How To Compress Large Video Files On Mac Without Losing Video Quality 2024
Anonim

Jilid data yang besar yang nyata dalam penggunaan Hadoop yang tipikal membuat mampatan sebagai keperluan. Mampatan data pasti menjimatkan banyak ruang penyimpanan dan pasti mempercepat pergerakan data sepanjang kluster anda. Tidak menghairankan, beberapa skema mampatan yang tersedia, dipanggil codec, berada di luar sana untuk anda pertimbangkan.

Dalam penggunaan Hadoop, anda berurusan (berpotensi) dengan sejumlah besar nod hamba individu, masing-masing mempunyai sejumlah pemacu cakera besar. Ia bukan perkara biasa bagi nod hamba individu untuk mempunyai 45TB ruang penyimpanan mentah yang tersedia untuk HDFS.

Pertama, beberapa istilah asas: A

codec, yang merupakan bentuk pendek co mpressor / dec ompressor, adalah teknologi (perisian atau perkakasan) kedua-duanya) untuk memampatkan dan menguraikan data; ia adalah pelaksanaan algoritma pemampatan / penyahmampatan.

Anda perlu tahu bahawa sesetengah codec menyokong sesuatu yang dipanggil pemampatan splittable dan bahawa codecs berbeza dalam kedua-dua kelajuan dengan mana mereka boleh memampatkan dan menguraikan data dan tahap yang mereka dapat memampatkannya.

Mampatan Splittable

adalah konsep penting dalam konteks Hadoop. Cara kerja Hadoop adalah bahawa fail dipecahkan jika mereka lebih besar daripada tetapan saiz blok fail, dan perpecahan fail individu boleh diproses selari oleh pemetaan yang berbeza.

Dengan kebanyakan codec, pecahan fail teks tidak dapat dikompresi secara berasingan daripada pecahan lain dari fail yang sama, jadi codec tersebut dikatakan tidak boleh dibelah, jadi pemprosesan MapReduce dibatasi oleh satu mapper tunggal.

Oleh kerana fail boleh dirombak hanya secara keseluruhan, dan bukan sebagai bahagian individu berdasarkan pecahan, tidak boleh diproses pemprosesan selari seperti itu, dan prestasi mungkin memukul besar sebagai pekerjaan menunggu satu mapper untuk memproses berbilang blok data yang tidak dapat dikompresi secara bebas.

Mampatan Splittable hanya merupakan faktor untuk fail teks. Untuk fail perduaan, codec mampatan Hadoop memampatkan data dalam bekas yang dikodkan binari, bergantung pada jenis fail (misalnya, SequenceFile, Avro, atau ProtocolBuffer).

Bercakap mengenai prestasi, ada kos (dari segi sumber dan masa pemprosesan) yang dikaitkan dengan memampatkan data yang ditulis ke cluster Hadoop anda.

Dengan komputer, seperti kehidupan, tiada apa-apa yang percuma. Apabila memampatkan data, anda menukar siklus pemprosesan untuk ruang cakera. Dan apabila data itu sedang dibaca, terdapat kos yang berkaitan dengan dekompresi data juga. Pastikan berat kelebihan penyimpanan simpanan terhadap overhed prestasi tambahan.

Jika fail input ke dalam tugas MapReduce mengandungi data termampat, masa yang diperlukan untuk membaca data dari HDFS dikurangkan dan prestasi kerja ditingkatkan. Data masukan dimampatkan secara automatik apabila ia dibaca oleh MapReduce.

Sambungan nama fail masukan menentukan codec yang disokong digunakan untuk menguraikan data secara automatik. Sebagai contoh, a. sambungan gz mengenal pasti fail itu sebagai fail gzip-dikompresi.

Ia juga berguna untuk memampatkan output perantaraan fasa peta dalam aliran pemprosesan MapReduce. Kerana output fungsi peta ditulis ke cakera dan dihantar ke seluruh rangkaian untuk mengurangkan tugas, memampatkan output dapat menghasilkan peningkatan prestasi yang signifikan.

Dan jika anda ingin menyimpan output MapReduce sebagai fail sejarah untuk kegunaan masa depan, memampatkan data ini dapat mengurangkan jumlah ruang yang dibutuhkan dalam HDFS.

Terdapat banyak algoritma dan alat pemampatan yang berbeza, dan ciri-ciri dan kekuatan mereka berbeza-beza. Perdaganan yang paling biasa adalah antara nisbah mampatan (sejauh mana suatu fail dimampatkan) dan memampatkan / mengekspresikan kelajuan. Rangka kerja Hadoop menyokong beberapa codec. Rangka kerja itu secara telus memampatkan dan menyahkompresi kebanyakan format fail input dan output.

Senarai berikut mengenal pasti beberapa codec biasa yang disokong oleh rangka kerja Hadoop. Pastikan untuk memilih codec yang paling sesuai dengan tuntutan kes penggunaan khusus anda (contohnya, dengan beban kerja di mana kelajuan pemprosesan adalah penting, memilih codec dengan kelajuan penyahmampatan yang tinggi):

Gzip:

  • Mampatan utiliti yang diterima pakai oleh projek GNU, Gzip (pendek untuk GNU zip) menghasilkan fail termampat yang mempunyai. lanjutan gz. Anda boleh menggunakan arahan gunzip untuk mengekspresikan fail yang dibuat oleh beberapa utiliti mampatan, termasuk Gzip. Bzip2:

  • Dari sudut pandangan kebolehgunaan, Bzip2 dan Gzip sama. Bzip2 menghasilkan nisbah mampatan yang lebih baik daripada Gzip, tetapi ia lebih perlahan. Malah, Daripada semua codec mampatan yang terdapat di Hadoop, Bzip2 adalah yang paling lambat. Jika anda menyediakan arkib yang anda jarang perlu pertanyaan dan ruang pada premium yang tinggi, maka mungkin Bzip2 patut dipertimbangkan.

    Snappy:

  • Codec Snappy dari Google menyediakan nisbah mampatan sederhana, tetapi kelajuan mampatan dan penyahmampatan. (Malah, ia mempunyai kelajuan penyahmampatan terpantas, yang menjadikannya sangat wajar untuk set data yang mungkin sering ditanya.) Codec Snappy disatukan ke Hadoop Common, satu set utiliti biasa yang menyokong sub-projek Hadoop yang lain. Anda boleh menggunakan Snappy sebagai pengaya untuk versi Hadoop yang lebih baru yang belum memberikan sokongan codec Snappy.

    LZO:

  • Sama seperti Snappy, LZO (pendek untuk Lempel-Ziv-Oberhumer, trio saintis komputer yang datang dengan algoritma) menyediakan nisbah mampatan sederhana, tetapi kelajuan mampatan dan penyahmampatan. LZO dilesenkan di bawah Lesen Awam GNU (GPL). LZO menyokong mampatan splittable, yang membolehkan proses pemprosesan teks terkompresi selari dipisahkan oleh pekerjaan MapReduce anda. LZO perlu membuat indeks apabila ia memampatkan fail, kerana dengan blok mampatan yang berubah-ubah, indeks diperlukan untuk memberitahu mapper di mana ia dapat membahagikan fail yang dimampatkan secara selamat. LZO hanya benar-benar wajar jika anda perlu memampatkan fail teks.

    Codec Hadoop

Codec

Extension File Splittable? Degree of Compression Speed ​​Compression Gzip
. gz Tidak Sederhana Sederhana Bzip2
. bz2 Ya Tinggi Perlahan Snappy
. tajam Tidak Sederhana Cepat LZO
. lzo Tidak, kecuali diindeks Sederhana Cepat Semua algoritma pemampatan mesti membuat pertukaran antara tahap mampatan dan kelajuan mampatan yang mereka dapat capai. Kod codec yang disenaraikan memberikan anda kawalan ke atas apa keseimbangan antara nisbah mampatan dan kelajuan harus pada masa mampatan.

Sebagai contoh, Gzip membolehkan anda mengawal kelajuan mampatan dengan menyatakan integer negatif (atau kata kunci), di mana -1 menunjukkan tahap mampatan terpantas, dan -9 menunjukkan tahap mampatan yang paling lambat. Tahap mampatan lalai adalah -6.

Memampatkan Data dalam Hadoop - dummies

Pilihan Editor

Cara RSVP ke Acara di Ning - patung

Cara RSVP ke Acara di Ning - patung

Di Ning, setelah anda menemukan persidangan itu mencari atau parti yang ingin anda hadiri, anda perlu RSVP untuk acara tersebut supaya pihak penganjur boleh mendapatkan jumlah minuman, makanan dan barang yang sesuai untuk semua peserta - dan juga rakan-rakan rangkaian anda yang tahu anda akan pergi . Untuk RSVP ...

Cara Menghantar Mesej Peribadi di Ning - dummies

Cara Menghantar Mesej Peribadi di Ning - dummies

Mesej hanya dengan dua kumpulan orang: rakan anda dan Pentadbir (termasuk Pencipta Rangkaian). Mesej peribadi Ning memberi anda cara yang ideal sebagai ahli untuk berkomunikasi dengan ahli-ahli lain dalam rangkaian tanpa semua orang mengetahui tentangnya:

Pilihan Editor

Dimensi web untuk Infographics anda - dummies

Dimensi web untuk Infographics anda - dummies

Cabaran untuk menilai infographic untuk web adalah saiz reka bentuk kini sangat berubah , tiada standard untuk bercakap. "Reka bentuk responsif" yang dibawa dengan kemunculan HTML5 mengubah landskap reka bentuk web secara kekal. Tidak seperti grafik yang dicetak, di mana setiap orang yang melihatnya mengalaminya dalam saiz yang sama, ...

Pilihan Editor

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Komuniti mempunyai tindak balas yang positif, negatif, atau neutral kepada anda dan jenama anda boleh membantu anda menentukan bagaimana untuk terus mengendalikan pendekatan penglibatan media sosial anda. Bagaimana anda mengukur pesaing dalam minda penonton dalam talian anda adalah satu lagi faktor penting untuk dinilai. Anda juga boleh memanfaatkan ...

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Tidak ada yang salah dengan menjangkau para blogger, penulis, dan ahli komuniti dalam talian lain dan bertanya kepada mereka jika mereka berminat untuk menyemak jenama atau komuniti anda. Perbezaan antara penginjilan jenama dan melakukan kajian semula adalah bahawa penginjil jenama tidak mengkaji: Mereka mempromosikan, dan mereka diberi pampasan sebagai pertukaran untuk promosi mereka. Penilai, di ...

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Untuk cara percikan untuk dilihat blog atau laman web, pertimbangkan menaja laman web ini. Penajaan untuk blog popular telah mendapat banyak perhatian dalam blogosphere. Sesetengah blogger menyeru menerima tajaan "menjual keluar," tetapi yang lain menganggapnya sebagai cara terbaik untuk mendapatkan bayaran untuk melakukan apa yang mereka suka. Penajaan cenderung kepada ...