介绍
类似 rar、zip、gzip 压缩格式,Hadoop 也支持文件压缩
Hadoop支持的压缩算法
Haodop对文件压缩均实现org.apache.hadoop.io.compress.CompressionCodec 接口
所有的实现类都在 org.apache.hadoop.io.compress 包下
Hadoop支持的压缩对比
| 压缩格式 | 工具 | 算法 | 文件扩展名 | 是否可切分 |
|---|---|---|---|---|
| Default | 无 | Default | .deflate | 否 |
| Gzip | gzip | gzip | .gz | 否 |
| bzip2 | bzip2 | bzip2 | .bz2 | 是 |
| LZO | lzop | LZO | .lzo | 是(切分点索引) |
| LZ4 | 无 | LZ4 | .lz4 | 否 |
| Snappy | 无 | Snappy | .snappy | 否 |
提示: Snappy 在 hadoop2.x版本中 需要重新编译才支持;在hadoop3.x版本中,已经内置了
比较
| 压缩格式 | 压缩前大小(byte) | 压缩后大小(byte) | 压缩时间(ms) | 解压缩时间(ms) | CPU(%) |
|---|---|---|---|---|---|
| bzip2 | 35984 | 8677 | 11591 | 2362 | 29.5 |
| gzip | 35984 | 8804 | 2179 | 389 | 26.5 |
| Default | 35984 | 9704 | 680 | 344 | 20.5 |
| lzo | 35984 | 13069 | 581 | 230 | 22 |
| lz4 | 35984 | 16355 | 327 | 147 | 12.6 |
| snappy | 35984 | 13602 | 424 | 88 | 11 |
Snappy压缩
由谷歌提出
优点:高速压缩速度和合理的压缩率。
缺点:压缩率比较差;hadoop2.x本身不支持,需要安装;3.x版本中,已经内置了
综合来看,比较好