優點:(1)壓縮比例比較高,而且壓縮、解壓速度比較快;
(2)hadoop 本身支援,在應用中處理gzip 格式的檔案就和直接處理文字一樣;大部分 linux 系統都自帶 gzip 命令,使用方便.
缺點:不支援 split。
應用場景: 當每個檔案壓縮之後在 130m 以內的(1 個塊大小內),都可以考慮用 gzip壓縮格式。
優點:支援 split;具有很高的壓縮率,比 gzip 壓縮率都高; hadoop 本身支援,但不支援 native;在 linux 系統下自帶 bzip2 命令,使用方便。
缺點:壓縮/解壓速度慢;不支援 native。
應用場景: 適合對速度要求不高,但需要較高的壓縮率的時候,可以作為 mapreduce 作業的輸出格式; 或者輸出之後的資料比較大,處理之後的資料需要壓縮存檔減少磁碟空間並且以後資料用得比較少的情況;或者對單個很大的文字檔案想壓縮減少儲存空間,同時又需要支援 split,而且相容之前的應用程式(即應用程式不需要修改)的情況。
優點:壓縮/解壓速度也比較快,合理的壓縮率;支援 split,是 hadoop 中最流行的壓縮格式;可以在 linux 系統下安裝 lzop 命令,使用方便。
缺點:壓縮率比 gzip 要低一些; hadoop 本身不支援,需要安裝;在應用中對 lzo 格式的檔案需要做一些特殊處理(為了支援 split 需要建索引,還需要指定 inputformat 為 lzo 格式)。
應用場景: 乙個很大的文字檔案,壓縮之後還大於 200m 以上的可以考慮,而且單個檔案越大, lzo 優點越越明顯。
優點:高速壓縮速度和合理的壓縮率。
缺點:不支援 split;壓縮率比 gzip 要低; hadoop 本身不支援,需要安裝;
應用場景: 當 mapreduce 作業的 map 輸出的資料比較大的時候,作為 map 到 reduce的中間資料的壓縮格式;或者作為乙個 mapreduce 作業的輸出和另外乙個 mapreduce 作業的輸入。
資料壓縮演算法
之前在聽到資料壓縮的時候,想著肯定是某些高深莫測的演算法,能夠完成資料的壓縮這種事情,最近看了看,嗯,至少咱還是能看懂的.眾所周知,不管你是exe,word,txt,dmg等等,在儲存上都是以二進位制進行儲存的,所以,在討論壓縮時,忽略檔案格式即可,只要將其看做一串數字即可.開始了,上數字串 111...
LZW資料壓縮演算法
表4 15 詞典 碼字 code word 字首 prefix 1 193 a194b 255 1305 abcdefxyf01234 lzw編碼器 軟體編碼器或硬體編碼器 就是通過管理這個詞典完成輸入與輸出之間的轉換。lzw編碼器的輸入是字元流 charstream 字元流可以是用8位ascii字...
資料壓縮演算法LZO C
lzo 是致力於解壓速度的一種資料壓縮演算法,lzo 是 lempel ziv oberhumer 的縮寫。這個演算法是無損演算法,參考實現程式是執行緒安全的。lzo 庫實現了許多有下述特點的演算法 解壓簡單,速度非常快。解壓不需要記憶體。壓縮相當地快。壓縮需要 64 kb 的記憶體。允許在壓縮部分...