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

前一行到后一行的范围

相关推荐
心疼你的一切39 分钟前
模态交响:CANN驱动的跨模态AIGC统一架构
数据仓库·深度学习·架构·aigc·cann
心疼你的一切1 小时前
解锁CANN仓库核心能力:从零搭建AIGC轻量文本生成实战(附代码+流程图)
数据仓库·深度学习·aigc·流程图·cann
秃了也弱了。3 小时前
StarRocks:高性能分析型数据仓库
数据仓库
心疼你的一切3 小时前
数字智人:CANN加速的实时数字人生成与交互
数据仓库·深度学习·aigc·交互·cann
心疼你的一切4 小时前
语音革命:CANN驱动实时语音合成的技术突破
数据仓库·开源·aigc·cann
心疼你的一切4 小时前
解构CANN仓库:AIGC API从底层逻辑到实战落地,解锁国产化AI生成算力
数据仓库·人工智能·深度学习·aigc·cann
心疼你的一切4 小时前
基于CANN仓库算力手把手实现Stable Diffusion图像生成(附完整代码+流程图)
数据仓库·深度学习·stable diffusion·aigc·流程图·cann
心疼你的一切5 小时前
代码革命:CANN加速的AI编程助手实战
数据仓库·深度学习·aigc·ai编程·cann
心疼你的一切5 小时前
三维创世:CANN加速的实时3D内容生成
数据仓库·深度学习·3d·aigc·cann
心疼你的一切6 小时前
药物发现革命:CANN加速的AI分子生成与优化系统
数据仓库·人工智能·深度学习·aigc·cann