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也不算差,之后会上实际案例

相关推荐
xiaomici3 小时前
SAC - Addin
数据仓库
edisao10 小时前
第三章 合规的自愿
jvm·数据仓库·python·神经网络·决策树·编辑器·动态规划
Aloudata11 小时前
NoETL 指标平台与现有数据中台、治理体系的融合之道
数据仓库·数据分析·自动化·etl·noetl
Francek Chen1 天前
【大数据存储与管理】分布式文件系统HDFS:01 分布式文件系统
大数据·hadoop·分布式·hdfs·架构
2501_927283581 天前
你的仓库,还停留在“人找货”的时代吗?
运维·数据仓库·人工智能·自动化·wms
莽撞的大地瓜1 天前
新浪舆情通秒级预警筑牢舆情应急第一防线
大数据·数据库·数据仓库·数据分析
旺仔Sec1 天前
手把手教你从零搭建 Hive 2.3.6 + MySQL 元数据存储(含视频教程)
hive·hadoop·mysql
人道领域2 天前
SSM框架从入门到入土(SpringMVC入门开发全流程解析)
数据仓库·hive·hadoop
vmnfPZtzOv2 天前
蜣螂优化LSSVM参数实战
hadoop