Hive:窗口函数(1)

窗口函数

窗口函数OVER()用于定义一个窗口,该窗口指定了函数应用的数据范围

对窗口数据进行分区

partition by 必须和over () 一起使用, distribute by经常和sort by 一起使用,可以不和over() 一起使用.DISTRIBUTE BY决定了数据如何分布到不同的Reducer上,而SORT BY决定了每个Reducer内部数据的排序方式。

示例

对数据进行排序


sort by 子句会让输入的数据强制排序 (强调:当使用排序时,窗口会在组内逐行变大)

示例

补充

示例

Windows子句

rows 和 range都是用来定义窗口框架, 不同的是rows基于行号, 而 RANGE子句通常用于基于值的范围来定义窗口

聚合函数开窗时order by 是表示累加,默认从起点行到当前行的累加;所以,示例1和示例2的结果是一样的

在没有order by的聚合函数sum()开窗的结果是起点到终点的累加值(示例3)

示例1

示例2

示例3

示例4

前一行到当前行的加和(S列的值是SAL列的前一行的值加当前行的值)

示例5

前一行到后一行的范围

相关推荐
heimeiyingwang16 小时前
【架构实战】ETL架构演进:从批处理到实时流处理
数据仓库·架构·etl
素玥17 小时前
实训4 ETL构建中间层
数据仓库·etl
武子康18 小时前
大数据-262 实时数仓 - Canal 同步数据实战指南 实时统计
大数据·hadoop·后端
苛子20 小时前
ETL与ELT的区别与选择:企业数据集成方案深度对比
数据仓库·etl
清水白石00820 小时前
Python 日志采集到数据仓库 ETL 流程设计实战:从基础语法到生产级可靠运维
数据仓库·python·etl
2501_9333295520 小时前
企业舆情处置系统设计与实践:Infoseek数字公关AI中台技术解析
数据仓库·人工智能·重构·架构·数据库开发
莫叫石榴姐2 天前
字节广告数开一面 | 实习
大数据·数据仓库·面试
2501_933329552 天前
AI驱动媒介宣发:Infoseek舆情系统的技术架构与公关实战
数据仓库·人工智能·重构·数据库开发
heimeiyingwang2 天前
【架构实战】数据仓库分层架构(ODS/DWD/DWS/ADS)
数据仓库·架构
武子康2 天前
大数据-261 实时数仓-建设指南:从架构设计到业务落地 交易订单、订单产品、产品分类、商家店铺、地域组织表
大数据·hadoop·后端