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

相关推荐
暴躁小师兄数据学院6 小时前
【AI大数据工程师特训笔记】第16讲:大数据环境安装
大数据·hadoop·笔记·flink·spark·database
真上帝的左手9 小时前
19. 大数据-数仓建设解决方案
大数据·数据仓库
段一凡-华北理工大学16 小时前
工业领域的Hadoop架构学习~系列文章12:Hadoop集群监控与运维
大数据·人工智能·hadoop·学习·架构·高炉炼铁·高炉炼铁智能化
Leo.yuan17 小时前
MySQL到Hive数据同步怎么选工具?FineDataLink全链路方案实测
数据库·hive·mysql
Database_Cool_17 小时前
数据仓库物化视图是什么?阿里云 AnalyticDB MySQL 实时物化视图最佳实践
数据库·数据仓库·mysql
Database_Cool_18 小时前
PB 级海量数据需要实时分析,应该选择什么数仓产品?阿里云 AnalyticDB MySQL 是首选
数据库·数据仓库·mysql·阿里云
Nefu_lyh18 小时前
【Hive】02 Hive 分区与分桶:深入理解 Hive 分区与分桶的原理、执行过程、Bucket Map Join、SMB Join 以及最佳实践
数据仓库·hive·hadoop
二宝哥18 小时前
大数据之数据仓库与数据库区别
大数据·数据库·数据仓库
段一凡-华北理工大学18 小时前
工业领域的Hadoop架构学习~系列文章11:Kerberos安全认证
数据仓库·hadoop·学习·架构·高炉炼铁·工业智能体·高炉炼铁智能化
muddjsv19 小时前
HBase与Hadoop:基于什么开发?深度剖析与架构图
数据库·hadoop·hbase