性能—是否有方法识别或检测配置单元表中的数据倾斜?

3ks5zfa0  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(233)

我们有许多需要花费大量时间的配置单元查询。我们正在使用tez和其他良好的做法,如cbo,使用orc文件等。
有没有像命令一样检查/分析数据倾斜的方法?解释计划会有帮助吗?如果有,我应该寻找哪个参数?

mgdq6dx1

mgdq6dx11#

说明计划对此没有帮助,你应该检查数据。如果它是一个连接,请从连接中涉及的所有表中选择前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` 可以是复杂联接键(联接条件中使用的所有列)。
也看看这个答案:https://stackoverflow.com/a/51061613/2700344

相关问题