【发布时间】:2023-03-03 21:02:01
【问题描述】:
我们有许多需要花费大量时间的配置单元查询。我们正在使用 tez 和其他良好做法,例如 CBO、使用 orc 文件等。
有没有办法像某些命令一样检查/分析数据倾斜?解释计划有帮助吗?如果有,我应该寻找哪个参数?
【问题讨论】:
标签: performance hadoop hive hiveql
我们有许多需要花费大量时间的配置单元查询。我们正在使用 tez 和其他良好做法,例如 CBO、使用 orc 文件等。
有没有办法像某些命令一样检查/分析数据倾斜?解释计划有帮助吗?如果有,我应该寻找哪个参数?
【问题讨论】:
标签: performance hadoop hive hiveql
解释计划对此无济于事,您应该检查数据。如果是join,则从所有参与join的表中选择前100个join key值,如果是解析函数,对partition by key做同样的操作,看看是不是skew。
例子:
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 条件下使用的所有列)。
【讨论】: