读书人

HIVE 窗口及分析函数 使用场景

发布时间: 2013-07-20 11:07:48 作者: rapoo

HIVE 窗口及分析函数 应用场景
SELECTcolumn_name,RANK() OVER (ORDER BY column_name DESC) AS rank,DENSE_RANK() OVER (ORDER BY SUM(column_name) DESC) AS dense_rankFROM table_name

OVER 需要,括号内为编号顺序

?

注意:order by 时,desc NULL 值排在首位,ASC时NULL值排在末尾

可以通过NULLS LAST、NULLS FIRST?控制

RANK() OVER (ORDER BY column_name DESC NULLS LAST)

?PARTITION BY?分组排列顺序

RANK() OVER(PARTITION BY month ORDER BY column_name DESC)

?这样,就会按照month 来分,即所需要排列的信息先以month 的值来分组,在分组中排序,各个分组间不干涉

?

CUBE,ROLLUP,GROUPING SETS() 详见:HIVE增强的聚合,也可以结合RANK()使用实现具体逻辑。

读书人网 >开源软件

热点推荐