Hadoop之MapReduce的压缩
这是mr的一种优化策略,通过压缩编码对mapper或者reducer的输出进行压缩,
以减少磁盘io,提高mr运行速度(但也增加了cpu运算负担)
1.为什么要压缩?
答:运算密集的job,少用压缩 -- IO密集的job多用压缩
2.优缺点?
答:优点=减少磁盘IO、减少磁盘存储空间
缺点=增加了CPU的使用
3.哪几种方法?
答:
Gzip 压缩
优点:压缩率比较高;
缺点:不支持 Split;压缩/解压速度一般;
Bzip2 压缩
优点:压缩率高;支持 Split;
缺点:压缩/解压速度慢。
Lzo 压缩
优点:压缩/解压速度比较快;支持 Split;
缺点:压缩率一般;想支持切片需要额外创建索引。
Snappy 压缩
优点:压缩和解压缩速度快;
缺点:不支持 Split;压缩率一般;