Hadoop文件压缩格式分析和比较
Hadoop支持壓縮格式:
| 壓縮格式 | 可分割 | 算法 | 擴展名 | 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壓縮
優點:壓縮率比較高,壓縮/解壓速度也比較快,hadoop本身支持。
缺點:不支持分片。
應用場景:當每個文件壓縮之后在1個block塊大小內,可以考慮用gzip壓縮格式。
?
2)lzo壓縮
優點:壓縮/解壓速度也比較快,合理的壓縮率,支持分片,是Hadoop中最流行的壓縮格式,支持Hadoop native庫。
缺點:壓縮率比gzip要低一些,Hadoop本身不支持,需要安裝,如果支持分片需要建立索引,還需要指定inputformat改為lzo格式。
應用場景:一個很大的文本文件,壓縮之后還大于200M以上的可以考慮,而且單個文件越大,lzo優點越明顯。
?
3)snappy壓縮
優點:支持Hadoop native庫,高速壓縮速度和合理的壓縮率。
缺點:不支持分片,壓縮率比gzip要低,Hadoop本身不支持,需要安裝。
應用場景:當MapReduce作業的map輸出的數據比較大的時候,作為map到reduce的中間數據的壓縮格式。
?
4)bzip2壓縮
優點:支持分片,具有很高的壓縮率,比gzip壓縮率都高,Hadoop本身支持,但不支持native。
缺點:壓縮/解壓速度慢,不支持Hadoop native庫。
應用場景:適合對速度要求不高,但需要較高的壓縮率的時候,可以作為mapreduce作業的輸出格式,輸出之后的數據比較大,處理之后的數據需要壓縮存檔減少磁盤空間并且以后數據用得比較少的情況。
?
總結:壓縮比:bzip2 > gzip > lzo > snappy ,壓縮速度:snappy > lzo> gzip > bzip2
總結
以上是生活随笔為你收集整理的Hadoop文件压缩格式分析和比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秦赵长平之战启示
- 下一篇: Linux基于expect(tcl)实现