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 Planning 高级计算公式-2
数据仓库
沃达德软件5 小时前
智慧政工中心功能解析
大数据·数据仓库·数据库开发·数据库架构·etl工程师
温暖小土7 小时前
ClickHouse vs Apache Doris:2026年实时OLAP数据库选型深度解析
数据库·数据仓库·clickhouse·apache
沃达德软件8 小时前
警务指挥情报中心建设
大数据·数据仓库·数据库开发
zgl_200537799 小时前
源代码:ZGLanguage 解析SQL数据血缘 之 显示 UNION SQL 结构图
大数据·数据库·数据仓库·sql·数据治理·sql解析·数据血缘
talle202110 小时前
Hadoop分布式资源管理框架【Yarn】
大数据·hadoop·分布式
yumgpkpm10 小时前
基于GPU的Spark应用加速 Cloudera CDP/华为CMP鲲鹏版+Nvidia英伟达联合解决方案
大数据·数据库·人工智能·hadoop·elasticsearch·spark·cloudera
talle202111 小时前
Hadoop分布式文件系统【HDFS】
大数据·hadoop·hdfs
亲爱的非洲野猪1 天前
SpringBoot启动流程深度剖析:从@SpringBootApplication到Servlet容器就绪
hive·spring boot·servlet
星火开发设计1 天前
深入浅出HDFS:分布式文件系统核心原理与实践解析
大数据·数据库·hadoop·学习·hdfs·分布式数据库·知识