hive数据倾斜的原因
Hive数据倾斜的原因主要是由于数据分布不均匀,导致map端读取的数据分布不均匀,从而使得map处理的数据量差异过大。
具体表现为:
1. join操作:一个表较小,但key值集中,或者大表与大表join时,分桶的判断字段0值或空值太多,这些数据都会分发到一个或者几个reduce中处理,导致处理的数据量远高于平均值。
2. group by操作:分组的维度过少,每个维度的值过多,导致处理某值的reduce耗时很久。
3. count distinct操作:特殊值过多,处理特殊值耗时。
此外,数据本身的问题(如特殊值过多),SQL语句不合理,表建设不合理也可能导致数据倾斜。
如有侵权请及时联系我们处理,转载请注明出处来自
推荐文章
科技快看 网站地图广州壹创集信息科技有限公司 版权所有 粤ICP备2021122624号