提到 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
|
沒有留言:
張貼留言