gpt4 book ai didi

hadoop - Hive 查询在 Tez 上无限运行

转载 作者:可可西里 更新时间:2023-11-01 14:56:58 26 4
gpt4 key购买 nike

下面是我尝试在 Hive 上运行的查询,执行引擎为 tez。

SELECT A.CITY, A.NAME, B.PRICE
,(ROW_NUMBER() OVER (PARTITION BY A.NAME ORDER BY B.PRICE) ) AS RNUM
FROM TABLE1 A
LEFT JOIN TABLE2 B
ON A.NAME = B.NAME
WHERE ( A.COLUMN2 >= B.COLUMN3 AND A.COLUMN2 < B.COLUMN4)
GROUP BY A.CITY, A.NAME, B.PRICE;
  • 当我在 Hive 中对我的数据运行上述查询时,它会持续运行数小时没有任何结果,但在句法上上述查询是正确的。
  • TABLEA 和 TABLEB 都有数百万条记录。

我尝试过更改数据格式、增加容器大小、更改 reducer 的数量以及更改堆大小。无论我更改什么参数,查询都会被卡住。

在我的进一步调查中,我注意到 where 条件和窗口函数导致查询无限运行。

这是我的问题:

  • 什么变化会使查询以巨大的速度端到端运行数据?

谢谢你的帮助

最佳答案

我猜这不是由内存分配或 reducer 计数引起的。可能是由数据倾斜引起的。也从这点分析。此链接将有助于: https://cwiki.apache.org/confluence/display/Hive/Skewed+Join+Optimization

下面的链接提供了关于偏斜表和列表分桶的见解。不要错过阅读。

https://cwiki.apache.org/confluence/display/Hive/ListBucketing

谢谢!

关于hadoop - Hive 查询在 Tez 上无限运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38105883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com