我有一个用例需要在分区上使用row\u number():类似于:
SELECT
Column1 , Column 2
ROW_NUMBER() OVER (
PARTITION BY ACCOUNT_NUM
ORDER BY FREQ, MAN, MODEL) as LEVEL
FROM
TEST_TABLE
我需要一个在 Impala 的解决办法。不幸的是,impala不支持子查询,也不支持row_number()over函数。谢谢你的帮助。
我有一个用例需要在分区上使用row\u number():类似于:
SELECT
Column1 , Column 2
ROW_NUMBER() OVER (
PARTITION BY ACCOUNT_NUM
ORDER BY FREQ, MAN, MODEL) as LEVEL
FROM
TEST_TABLE
我需要一个在 Impala 的解决办法。不幸的是,impala不支持子查询,也不支持row_number()over函数。谢谢你的帮助。
4条答案
按热度按时间qybjjes11#
cdh 5.2中添加了分区上的行数()
https://www.cloudera.com/documentation/enterprise/latest/topics/impala_analytic_functions.html#row_number
5t7ly7z52#
Impala 现在支持over子句。语法与问题中的相同。
Impala 文献:https://www.cloudera.com/documentation/enterprise/5-6-x/topics/impala_analytic_functions.html#over
iklwldmw3#
impala支持子查询。括号内和使用
with
功能。h79rfbju4#
对于这种类型的查询,impala相当有限。通过一些假设,可以进行此查询:
分区子句中的四列永远不会
NULL
分区子句中的四列唯一地标识一行这个查询非常难看而且昂贵: