hadoop的常用压缩格式
压缩格式 | 可分割 | 算法 | 扩展名 | Linux工具 |
---|---|---|---|---|
gzip | 否 | DEFLATE | .gz | gzip |
lzo | 是(加索引) | LZO | .lzo | lzop |
snappy | 否 | Snappy | .snappy | 无 |
Bzip2 | 是 | Bzip2 | .bz2 | bzip2 |
deflate | 否 | DEFLATE | .deflate | 无 |
zip | 是 | ZIP | .zip | zip |
各个压缩格式的优缺点
压缩格式 | 优点 | 缺点 |
---|---|---|
gzip | 压缩比在四种压缩方式中较高;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便。 | 不支持split |
lzo | 压缩/解压速度也比较快,合理的压缩率;支持split,是hadoop中最流行的压缩格式;支持hadoop native库;需要在linux系统下自行安装lzop命令,使用方便。 | 压缩率比gzip要低;hadoop本身不支持,需要安装;lzo虽然支持split,但需要对lzo文件建索引,否则hadoop也是会把lzo文件看成一个普通文件(为了支持split需要建索引,需要指定inputformat为lzo格式) |
snappy | 压缩速度快;支持hadoop native库。 | 不支持split;压缩比低;hadoop本身不支持,需要安装;linux系统下没有对应的命令d. bzip2 |
bzip2 | 支持split;具有很高的压缩率,比gzip压缩率都高;hadoop本身支持,但不支持native;在linux系统下自带bzip2命令,使用方便。 | 压缩/解压速度慢;不支持native |
压缩比对比图
可见Bzip2的压缩率最高
解压缩时间对比图
Bzip2压缩时间最长
Snappy压缩时间最短