根据蜂巢模板:
hive.optimize.skewjoin:是否启用斜连接优化。算法如下:在运行时,检测带有大斜率的密钥。与其处理这些键,不如暂时将它们存储在HDFS目录中。在后续地图-减少作业,处理这些倾斜的键。对于所有的表,不需要对相同的键进行倾斜,因此,后续的映射-减少作业(对于倾斜的键)将更快,因为它将是一个map-join。
hive.groupby.skewindata:数据中是否存在倾斜,以便按查询优化组
但我不明白hive.groupby.skewindata是否依赖于hive.optimize.skewjoin?
发布于 2019-05-13 10:17:53
这两个属性处理两种不同的情况。当存在由group子句引起的倾斜时,可以使用hive.groupby.skewindata。当数据倾斜是由join子句引起时,可以使用hive.optimize.skewjoin。根本原因是一样的。蜂巢用相同的键将数据放入同一个减速机。
https://stackoverflow.com/questions/48741145
复制相似问题