首页 / 科技百科 / 正文

hive数据倾斜的原因 

Hive数据倾斜的原因主要是由于数据分布不均匀,导致map端读取的数据分布不均匀,从而使得map处理的数据量差异过大。

具体表现为:

1. join操作:一个表较小,但key值集中,或者大表与大表join时,分桶的判断字段0值或空值太多,这些数据都会分发到一个或者几个reduce中处理,导致处理的数据量远高于平均值。

2. group by操作:分组的维度过少,每个维度的值过多,导致处理某值的reduce耗时很久。

3. count distinct操作:特殊值过多,处理特殊值耗时。

此外,数据本身的问题(如特殊值过多),SQL语句不合理,表建设不合理也可能导致数据倾斜。

如有侵权请及时联系我们处理,转载请注明出处来自