大数据--hive7--数据倾斜及其解决办法

本文详细探讨了Hive中的数据倾斜问题,包括group by聚合倾斜的原因、解决办法和原理,Map和Reduce的优化策略,以及在HQL中处理count(distinct)和join时的优化技巧。通过对数据倾斜的深入理解,可以有效提高Hive查询效率。
摘要由CSDN通过智能技术生成

目录

一:数据倾斜产生原因分类:

二:hive倾斜之group by聚合倾斜

2.1产生原因:

2.2 解决办法:

2.3 原理:

三:hive倾斜之Map和Reduce优化

四. hive倾斜之HQL中包含count(distinct)时

五:Hive倾斜之HQL中join优化

六:总结


一:数据倾斜产生原因分类:

1)聚合倾斜

2)join倾斜

分类细节和完整内容请参加我的另一篇博客:https://blog.csdn.net/yezonghui/article/details/115412927

二:hive倾斜之group by聚合倾斜

2.1产生原因:

    1)分组的维度过少,每个维度的值过多,导致处理某值的reduce耗时很久;

    2)对一些类型统计的时候某种类型的数据量特别多,其他的数据类型特别少。

当按照类型进行group by的时候,会将相同的group by字段的reduce任务需要的

数据拉取到同一个节点进行聚合,而当其中每一组的数据量过大时,会出现其他组

的计算已经完成而这个reduce还没有计算完成,其他的节点一直等待这个节点的任务执行完成。

所以会一直看到map 100% 而reduce 99%的情况。

2.2 解决办法:

set  hive.map.aggr = true;

set

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值