说明
在 MapReduce 编码中,可以指定压缩
优点
减少文件体积,节省磁盘空间
加快网络传输速度
降低 IO 读写次数
缺点
写文件时压缩、读取文件时需要解压缩,增加 CPU 负担
压缩位置
mapper前(输入端)
如果输入的文件是压缩过的,那么在被 MapReduce 读取时,根据文件扩展名,使用相应的压缩解码器,自动解压
mapper输出结果
mapper计算后,数据可能会很大,mapper 和 reducer 可能在不同的服务器上,reducer 拉取数据时,会占用带宽,所以需要压缩
reducer输出结果
生成最终结果文件,文件可能会很大,压缩后,节省空间
编码器\解码器
| 压缩格式 | 对应的编码/解码器 |
|---|---|
| Default | org.apache.hadoop.io.compress.DefaultCodec |
| gzip | org.apache.hadoop.io.compress.GzipCodec |
| bzip2 | org.apache.hadoop.io.compress.BZip2Codec |
| LZO | com.hadoop.compression.lzo.LzopCodec |
| Snappy | org.apache.hadoop.io.compress.SnappyCodec |