Hive窗口函数大全

Hive窗口函数

一、偏移量函数

lag

语法:lag(col,n,default_val)

返回值:字段类型

说明:往前第n行数据。

lag(column字段,第n行,默认值)

lag函数能够取出往前n行的数据值,如果数据为空值,则取默认值

lead

语法:lead(col,n, default_val)

返回值:字段类型

说明:往后第n行数据。

lead(column字段,第n行,默认值)

lead函数能够取出往后n行的数据,如果数据为空值,则取默认值

Tip:lead的英文翻译为领先的,这里的领先指的是当前数据行,因此想要取往后的数据需要使用lead
Tip:lag的英文翻译为落后的,这里的落后指的是当前数据行,因此想要取往前的数据需要使用lag

二、窗口分析函数

first_value

语法:first_value (col,true/false)

返回值:字段类型

说明:当前窗口下的第一个值,第二个参数为true,跳过空值。

first_value能够取出当前窗口下的第一个值,第二参数能够选择跳过空值。

last_value

语法:last_value (col,true/false)

返回值:字段类型

说明:当前窗口下的最后一个值,第二个参数为true,跳过空值。

last_value能够取出当前窗口下的第一个值,第二参数能够选择跳过空值。

Tip:窗口分析函数通常需要对分区数据进行order by排序,经过排序后的再使用窗口分析函数

三、排序函数

rank

语法:rank() over(......)

返回值:int

说明:排名相同时会重复,总数不会减少(12225......)。

rank为跳跃排序函数

dense_rank

语法:dense_rank() over(......)

返回值:int

说明:排名相同时会重复,总数会减少(12223......)。

dense_rank为不跳跃排序函数

row_number

语法:row_number() over(......)

返回值:int

说明:数据值相同时不会重复,总数不会减少(1234567......)。

row_number为顺序唯一排序函数

Tip:排序函数为面试常考题目,务必掌握捏。

相关推荐
Sayai17 小时前
ClickHouse WITH FILL 实战:监控大屏时间序列补零,附多粒度指标表与物化视图级联设计
大数据·运维·数据仓库·clickhouse·物化视图
计算机毕业编程指导师18 小时前
计算机毕设怎么做?Python+Hadoop的跨平台消费者评论情感分析与数据可视化系统实战 源码 毕业设计 选题推荐 毕设选题 数据分析
大数据·hadoop·python·计算机·spark·课程设计·消费者评论
卷毛迷你猪1 天前
快速实验篇(B16)用户级预测可行性审计(否定性意见)
大数据·hadoop·数据挖掘·聚类
计算机毕业编程指导师2 天前
【计算机毕设选题】基于Hadoop+Spark的化妆品销售数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·课程设计·化妆品
躺柒2 天前
读数据架构知识体系指南16数据网格(上)
数据仓库·架构·数据分析·数据湖·数据架构·关系数据库
省钱兄--zs2 天前
北京24小时自助健身房系统软件开发实战:从架构设计到部署指南
java·数据仓库·spring boot·小程序·需求分析
计算机毕业编程指导师3 天前
【Python毕设选题推荐】基于Spark的宫颈癌变光谱特征数据分析可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·宫颈癌变
计算机毕业编程指导师3 天前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师3 天前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论
躺柒3 天前
读数据架构知识体系指南14数据编织
大数据·数据仓库·数据分析·数据湖·数据编织