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

前一行到后一行的范围

相关推荐
让头发掉下来12 小时前
Sqoop详细学习文档
大数据·hive·hadoop·hbase·sqoop
没见过西瓜嘛1 天前
数据仓库、数据湖与湖仓一体技术笔记
数据仓库·笔记
非极限码农1 天前
Hive SQL (HQL) 编辑指南
hive·hadoop·sql
非极限码农1 天前
Hive数仓部署/分层/ETL脚本基础指南
数据仓库·hive·hadoop·etl
cici158742 天前
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
java·linux·hadoop
lifallen2 天前
hadoop.yarn 带时间的LRU 延迟删除
java·大数据·数据结构·hadoop·分布式·算法
哈哈很哈哈2 天前
Hadoop JMX 配置的完整文档
大数据·hadoop·分布式
Dragon online2 天前
数据仓库深度探索系列:架构选择与体系构建
大数据·数据仓库·分布式·架构·spark·大数据架构·数仓架构
数据要素X2 天前
【数据架构08】数字化转型架构篇
大数据·数据库·数据仓库·架构·数据库架构
jzy37113 天前
国产化适配鲲鹏arm环境:hive on tez 单节点部署实践总结
linux·hadoop·apache hive