2014年5月8日 星期四

[hadoop] 壓縮 Compression format / splittable


提到 compression ,除了可以減少儲存空間,還有減少在網路傳輸的流量,以加快傳輸的時間。
這個問題,在網路世界中,更為重要,尤其是現在面臨大資料的世代。

每個壓縮的format 就有他們自己的取捨,
基本上來說 LZO 壓縮 速度比 gzip /zip 快,但是壓縮比率不高。
gzip  compression的 file 比較小,bzip2 又比zip ,gzip 壓縮比率高,但是速度比較慢。

在 hadoop 使用 MapReduce 更要注意的一點是 "Compression and Input Splits",
這個 compression 支不支援 Splits ,也就是說MR在處理檔案時,可不可以從其中一段切開來。這個就決定了可不可以使用多個 map reduce slot 了。

所以,我們在hadoop Mapreduce 的應用中常選用,壓縮比相對高,又支援 split 的 Compression format 。




Compression format |
Tool | 
Algorithm | 
 Filename  extension | 
Multiple files |
Splittable |
DEFLATE
N/A
DEFLATE
.deflate
No
No
gzip
gzip
DEFLATE
.gz
No
No
Zip
zip
DEFLATE
.zip
Yes
Yes,at file boundaries
bzip2
bzip2
bzip2
.bz2
No
Yes
LZO
lzop
LZO
.lzo
No
No

沒有留言:

張貼留言