Hadoop文件压缩格式分析和比较
Hadoop支持壓縮格式:
| 壓縮格式 | 可分割 | 算法 | 擴(kuò)展名 | Linux工具 |
| gzip | 否 | DEFLATE | .gz | gzip |
| lzo | 是(加索引) | LZO | .lzo | lzop |
| snappy | 否 | Snappy | .snappy | 無 |
| Bzip2 | 是 | Bzip2 | .bz2 | bzip2 |
| deflate | 否 | DEFLATE | .deflate | 無 |
| zip | 是 | ZIP | .zip | zip |
?
1)Gzip壓縮
優(yōu)點(diǎn):壓縮率比較高,壓縮/解壓速度也比較快,hadoop本身支持。
缺點(diǎn):不支持分片。
應(yīng)用場(chǎng)景:當(dāng)每個(gè)文件壓縮之后在1個(gè)block塊大小內(nèi),可以考慮用gzip壓縮格式。
?
2)lzo壓縮
優(yōu)點(diǎn):壓縮/解壓速度也比較快,合理的壓縮率,支持分片,是Hadoop中最流行的壓縮格式,支持Hadoop native庫。
缺點(diǎn):壓縮率比gzip要低一些,Hadoop本身不支持,需要安裝,如果支持分片需要建立索引,還需要指定inputformat改為lzo格式。
應(yīng)用場(chǎng)景:一個(gè)很大的文本文件,壓縮之后還大于200M以上的可以考慮,而且單個(gè)文件越大,lzo優(yōu)點(diǎn)越明顯。
?
3)snappy壓縮
優(yōu)點(diǎn):支持Hadoop native庫,高速壓縮速度和合理的壓縮率。
缺點(diǎn):不支持分片,壓縮率比gzip要低,Hadoop本身不支持,需要安裝。
應(yīng)用場(chǎng)景:當(dāng)MapReduce作業(yè)的map輸出的數(shù)據(jù)比較大的時(shí)候,作為map到reduce的中間數(shù)據(jù)的壓縮格式。
?
4)bzip2壓縮
優(yōu)點(diǎn):支持分片,具有很高的壓縮率,比gzip壓縮率都高,Hadoop本身支持,但不支持native。
缺點(diǎn):壓縮/解壓速度慢,不支持Hadoop native庫。
應(yīng)用場(chǎng)景:適合對(duì)速度要求不高,但需要較高的壓縮率的時(shí)候,可以作為mapreduce作業(yè)的輸出格式,輸出之后的數(shù)據(jù)比較大,處理之后的數(shù)據(jù)需要壓縮存檔減少磁盤空間并且以后數(shù)據(jù)用得比較少的情況。
?
總結(jié):壓縮比:bzip2 > gzip > lzo > snappy ,壓縮速度:snappy > lzo> gzip > bzip2
總結(jié)
以上是生活随笔為你收集整理的Hadoop文件压缩格式分析和比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秦赵长平之战启示
- 下一篇: 【正一专栏】评《我的前半生》——我们需要