hadoop解决数据倾斜的方法

分析&回答

1,如果预聚合不影响最终结果,可以使用conbine,提前对数据聚合,减少数据量。使用combinner合并,combinner是在map阶段,reduce之前的一个中间阶段,在这个阶段可以选择性的把大量的相同key数据先进行一个合并,可以看做是local reduce,然后再交给reduce来处理。

2,使用2次mr的方式。第一次mr,在map输出是给key加上一个前缀,则可以把相同的key分配到不同的reduce聚合,可以实现同一个key数据量大的问题;第二次mr对把第一次mr输出的数据的key去掉前缀,在聚合。

3,增加reduce个数,提示并行度。最容易造成的结果就是大量相同key被partition到一个分区,从而一个reduce执行了大量的工作,而如果我们增加了reduce的个数,这种情况相对来说会减轻很多,毕竟计算的节点多了,就算工作量还是不均匀的,那也要小很多。

4,自定义分区,自定义散列函数,把数据均匀分配到不同reduce。

喵呜面试助手:一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!

相关推荐
HelloReader1 分钟前
Spark RDD 编程从驱动程序到共享变量、Shuffle 与持久化
大数据
Super_King_35 分钟前
Doris 和 Flink 技术相关
大数据·flink
肌肉娃子1 小时前
seatunnel-一种场景mysqlcdc同步进入clickhouse基于2.3.11版本
大数据
AI营销资讯站1 小时前
2025社群运营AI工具TOP榜:从自动化话术到AI CRM系统的终极演进
大数据·人工智能
小小王app小程序开发1 小时前
任务悬赏小程序核心玩法 + 功能全解析:精准匹配与信任构建的变现逻辑
大数据·小程序
vivo互联网技术1 小时前
vivo Celeborn PB级Shuffle优化处理实践
大数据·rss·celeborn·shuffle
真实的菜1 小时前
TDengine实战:构建高性能物联网时序数据存储方案
大数据·物联网·tdengine
Mxsoft6191 小时前
我发现OPC UA证书失效致连接中断,手动更新救场!
大数据
zhixingheyi_tian1 小时前
HDFS 之 Client 调试
大数据·hadoop·hdfs