Hive窗口函数总结

来源:互联网 发布:jdk 7u21 windows x32 编辑:程序博客网 时间:2024/06/04 23:32

基础的:SUM,AVG,MIN,MAX
NTILE(n),用于将分组数据按照顺序切分成n片,返回当前切片值
ROW_NUMBER() –从1开始,按照顺序,生成分组内记录的序列
RANK() 生成数据项在分组中的排名,排名相等会在名次中留下空位
DENSE_RANK() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位
CUME_DIST 小于等于当前值的行数/分组内总行数
PERCENT_RANK 分组内当前行的RANK值-1/分组内总行数-1
LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值
与LAG相反
LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值
FIRST_VALUE 取分组内排序后,截止到当前行,第一个值
LAST_VALUE 取分组内排序后,截止到当前行,最后一个值
GROUPING SETS 在一个GROUP BY查询中,根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALL
CUBE 根据GROUP BY的维度的所有组合进行聚合
ROLLUP 是CUBE的子集,以最左侧的维度为主,从该维度进行层级聚合

0 0