MapReduce常用的压缩方式
压缩格式 | 是否需要安装 | 文件拓展名 | 是否可分 |
---|---|---|---|
DEFAULT | 否 | .deflate | 否 |
bzip2 | 否 | .bz2 | 是 |
Gzip | 否 | .gz | 否 |
LZO | 是 | .lzo | 是 |
Snappy | 是 | .snappy | 否 |
性能测试
压缩格式 | 原文件大小 | 压缩后大小 | 压缩速度 | 解压速度 |
---|---|---|---|---|
gzip | 8.3G | 1.8G | 20M/s | 60M/s |
LZO | 8.3G | 3G | 50M/s | 70M/s |
Bzip2 | 8.3G | 1.1G | 3M/s | 10M/s |
Snappy | 8.3G | 4G | 200M/s | 530M/s |
总结,常用压缩方式的采用场景
- Bzip2 压缩方式(考虑空间成本时采用)
压缩率最高,压缩速度最低,hadoop自带,不支持split,所以输出文件不能超过blocksize。可以通过修改blocksize参数来调整储存压缩后文件。 - Gzip
压缩率较高,压缩速度较快,hadoop自带,Linux自带gzip口令,但是不支持split - LZO
压缩率低,压缩速度快,Linux/Hadoop需要安装,支持split - Snappy(考虑时间成本时采用,大部分企业采用该方式)
压缩率低,压缩速度极快,Linux/Hadoop需要安装,不支持支持split