hive窗口函数实现组内求和、累加、排序、计数

问题描述:

group by实现的分组聚合函数与元数据表对比难以实现后续进一步的数据加工处理

窗口函数更容易实现在元数据表上打分组聚合的补丁

窗口函数的一般公式:

sql 复制代码
<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名> [rows between ?? and ???])

函数的位置可以放如下函数:

1.rank() ->如果有并列名次的行,会占用下一名次的位置。比如正常排名是1,2,3,4,但是现在前3名是并列的名次,结果是:1,1,1,4

2.dense_rank() ->如果有并列名次的行,不占用下一名次的位置。比如正常排名是1,2,3,4,但是现在前3名是并列的名次,结果是:1,1,1,2。

3.row_number() ->不考虑并列名次的情况。比如前3名是并列的名次,排名是正常的1,2,3,4。

4.lag(col,n,default_val):获取往前第n行数据,col是列名,n是往上的行数,当第n行为null的时候取default_val

5.LEAD(col,n, default_val):往后第n行数据,col是列名,n是往下的行数,当第n行为null的时候取default_val

6.聚合函数(sum求和,平均、计数、最大最小值)作为窗口函数,可以在每一行的数据里直观的看到,截止到本行数据,统计数据是多少(最大值、最小值等)。同时可以看出每一行数据,对整体统计数据的影响。

自行体会,真嘟很好用

对比python也不算差,之后会上实际案例

相关推荐
Francek Chen21 小时前
【大数据处理与分析】MapReduce:06 MapReduce编程实践
大数据·hadoop·分布式·mapreduce
王小王-1231 天前
基于 Hadoop 的二手房数据分析与可视化平台项目展示
大数据·hadoop·数据分析·大数据房价分析·二手房价格预测·hive房价数据分析
知识分享小能手1 天前
Hadoop学习教程,从入门到精通, HBase 分布式数据库 — 完整知识点与案例代码(8)
数据库·hadoop·分布式
王小王-1231 天前
基于 Hadoop 的心脏病分析可视化与风险预测系统
大数据·hadoop·分布式·心脏病预测系统·疾病预测·冠心病风险预测
TPBoreas1 天前
springboot3.5比2.x做了哪儿些提升
数据仓库·hive·hadoop
Nefu_lyh3 天前
【Hive】七、Hive 函数:聚合 / 统计 / 分位数 / 集合 / 高级分组
数据仓库·hive·hadoop
阿 才3 天前
跟文件系统(busybox)的构建
大数据·hadoop·分布式
KANGBboy3 天前
hive UDF函数
数据仓库·hive·hadoop
暴躁小师兄数据学院4 天前
【AI大数据工程师特训笔记】第15讲:大数据环境安装
大数据·hadoop·flink·spark
王小王-1234 天前
基于 Hadoop + Flask 的电动汽车数据分析与可视化系统设计与实现
hadoop·数据分析·flask·电动汽车·新能源汽车数据分析·新能源汽车销量分析·新能源汽车销售分析