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:排序函数为面试常考题目,务必掌握捏。

相关推荐
心疼你的一切6 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
WHD3069 小时前
苏州数据库(SQL Oracle)文件损坏修复
hadoop·sql·sqlite·flume·memcached
ClouderaHadoop10 小时前
CDH集群机房搬迁方案
大数据·hadoop·cloudera·cdh
心疼你的一切11 小时前
基于CANN仓库打造轻量级AIGC:一键生成图片语义描述
数据仓库·aigc·cann
AC赳赳老秦15 小时前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
心疼你的一切16 小时前
拆解 CANN 仓库:实现 AIGC 文本生成昇腾端部署
数据仓库·深度学习·aigc·cann
心疼你的一切16 小时前
模态交响:CANN驱动的跨模态AIGC统一架构
数据仓库·深度学习·架构·aigc·cann
心疼你的一切17 小时前
解锁CANN仓库核心能力:从零搭建AIGC轻量文本生成实战(附代码+流程图)
数据仓库·深度学习·aigc·流程图·cann
秃了也弱了。19 小时前
StarRocks:高性能分析型数据仓库
数据仓库
心疼你的一切19 小时前
数字智人:CANN加速的实时数字人生成与交互
数据仓库·深度学习·aigc·交互·cann