方案一 设置Map和Reduce的任务的数量
方案二 设置任务运行的并行度
方案三 增加相应节点虚拟机的内存大小
方案四 自定义Partition
方案五 开启map端的压缩 可以减少reduce shuffle过程中的网络带宽,不足之处在于计算过程中需要消耗额外的CPU进行数据的压缩和解压缩。 注意: 此方案适合在集群环境下使用,如果是本地测试会报not a gzip file的错误。如果现有100亿条无序的数字需要进行排序,此时在reduce端下载map端的数据就会占用大量的带宽。
方案六 自定义Combiner 先对map端的文件排序结果进行合并优化,再执行reduce端的方法进行处理,这样传输的数据量就会有一个质的下降 注意: 自定义Combiner结果类型必须一致;统计过程必须支持局部计算
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。