我们有很多占用大量时间的配置单元查询。我们正在使用tez和其他良好的做法,如CBO,使用orc文件等
有没有一种方法可以像某些命令一样检查/分析数据偏斜?解释计划有帮助吗?如果有,我应该寻找哪个参数?
解释计划对此没有帮助,您应该检查数据。如果它是一个联接,请从联接中涉及的所有表中选择前100个联接键值,如果它是分析函数,则按键分区也要这样做,您会看到它是否是一个偏斜。
示例:
select key, count(*) cnt
from table
group by key
having count(*)> 1000 --check also >1 for tables where it should not be duplication (like dimentions)
order by cnt desc limit 100;
key
可以是复杂的联接键(在联接ON条件下使用的所有列(。
也可以看看这个答案:https://stackoverflow.com/a/51061613/2700344