开发者社区> 问答> 正文

MapReduce计算中的解决数据倾斜的方案有什么?

MapReduce计算中的解决数据倾斜的方案有什么?

展开
收起
xin在这 2021-12-06 22:24:40 316 0
1 条回答
写回答
取消 提交回答
  • 方案一 设置Map和Reduce的任务的数量

    方案二 设置任务运行的并行度

    方案三 增加相应节点虚拟机的内存大小

    方案四 自定义Partition

    方案五 开启map端的压缩 可以减少reduce shuffle过程中的网络带宽,不足之处在于计算过程中需要消耗额外的CPU进行数据的压缩和解压缩。 注意: 此方案适合在集群环境下使用,如果是本地测试会报not a gzip file的错误。如果现有100亿条无序的数字需要进行排序,此时在reduce端下载map端的数据就会占用大量的带宽。

    方案六 自定义Combiner 先对map端的文件排序结果进行合并优化,再执行reduce端的方法进行处理,这样传输的数据量就会有一个质的下降 注意: 自定义Combiner结果类型必须一致;统计过程必须支持局部计算

    2021-12-06 22:25:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
HBase 吞吐量提升实践 立即下载
MaxCompute计算长尾问题优化 立即下载
时序及分析在hbase上的使用 立即下载