压缩目的:
降低数据磁盘存储空间,减少传输数据的IO量 压缩追求的指标: 压缩时间 越短越好 压缩化 越大越好 硬件需求如:cpu 算法支持 mr中可以使用压缩的地方: map的输出数据进行数据压缩,减少shuff给reduce的数据量 reduce的输出进行数据压缩,减少最终结果在磁盘存储所占的空间 检查Hadoop支持的压缩算法:[root@node-1 ~]# hadoop checknative Native library checking: hadoop: true /export/servers/hadoop-2.6.0cdh5.14.0/lib/native/libhadoop.so.1.0.0 zlib: true /lib64/libz.so.1 snappy: true /usr/lib64/libsnappy.so.1 lz4: true revision:10301 bzip2: true /lib64/libbz2.so.1 openssl: true /usr/lib64/libcrypto.so |
推荐压缩算法:
Snappy
mr中怎样使用压缩:
在mapReduce程序中进行设置,影响当前mr程序 在mapreduce-site.xml进行配置,影响所有的mr程序MapReduce常见算法:
- 单词计数
- 数据去重
- 排序
- Top K
- 选择
- 投影
- 分组
- 多表连接
- 单表关联
总结:
- 在Hadoop中,codec由CompressionCode的实现来表示。下面是一些实现:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。