gpt4 book ai didi

sql - 在配置单元中使用 QUALIFY Row_Number

转载 作者:行者123 更新时间:2023-12-04 17:50:33 31 4
gpt4 key购买 nike

我正在将 Teradata 转换为 Hive(版本 0.10.0)。

Teradata 查询:

QUALIFY ROW_NUMBER() OVER (PARTITION BY ADJSTMNT,SRC_CMN , TYPE_CMD,IOD_TYPE_CD,ROE_PST ,ORDR_SYC,SOR_CD,PROS_ED ORDER BY ADJSTMNT )=1

我进行了搜索,并在 hive 中找到了 Row_Sequence 的 UDF。我还用 Distribute All 和 sort By 替换了 Over Partition。但我坚持使用 QUALIFY。

任何将上述内容转换为 hive 的想法都非常受欢迎,并将对我们有很大帮助。

最佳答案

带有分析函数的 QUALIFY (ROW_NUMBER(), SUM(), COUNT(), ... over (partition by ...)) 只是包含分析值的子查询上的 WHERE。

例如:

select A,B,C
from X
QUALIFY ROW_NUMBER() over (...) = 1

相当于:
select A,B,C
from (
select A,B,C, ROW_NUMBER() over (...) as RNUM
from X
) t
where RNUM = 1

注意:分析功能在 Hive 0.12 中可用

关于sql - 在配置单元中使用 QUALIFY Row_Number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17540224/

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