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

前一行到后一行的范围

相关推荐
chde2Wang28 分钟前
datagrip访问远程hive库
hive
howard20051 小时前
7.2 Hive自定义函数实战
hive·自定义函数·udf
zhixingheyi_tian1 小时前
Hadoop 之 metrics
hadoop
第二只羽毛2 小时前
单例模式的初识
java·大数据·数据仓库·单例模式
g***78912 小时前
从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)
hive·servlet·tomcat
7***684310 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
笨蛋少年派10 小时前
跨境电商大数据分析系统案例:③建模、分析与暂时收尾
hive·数据挖掘·数据分析
yumgpkpm11 小时前
腾讯TBDS和Cloud Data AI CMP 比较的缺陷在哪里?
hive·hadoop·elasticsearch·zookeeper·spark·kafka·hbase
知识分享小能手11 小时前
openEuler入门学习教程,从入门到精通,openEuler 24.03 环境下 Hadoop 全面实践指南(19)
大数据·hadoop·openeuler
K***65891 天前
从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)
hive·servlet·tomcat