hive窗口函数详解窗口长度设置(详细,干货满满)

本文介绍了Hive窗口函数的概念和应用场景,包括窗口聚合计算、排名函数以及非NULL查找。通过具体案例展示了row_number()、rank()、dense_rank()等函数在组内排名、增量写入和非NULL值查找中的用法,并详细解释了窗口长度的设置方法。
摘要由CSDN通过智能技术生成

窗口函数是一种不需要使用group by也能进行聚合计算的强大分析函数
以下是经过自己使用的一些感悟:
1),窗口函数不是某个函数,它是 “一批” 的函数的总称
2),窗口函数适用于增量写入的计算场景
3),窗口函数适用于“组内排名”的计算场景
4),窗口函数可用于非null判断的循环查找场景

常用的窗口函数简介:
1)、窗口聚合计算函数
sum(col) over() : 分组对col累计求和,
count(col) over() : 分组对col累计,
min(col) over() : 分组对col求最小
max(col) over() : 分组求col的最大值
avg(col) over() : 分组求col列的平均值
first_value(col) over() : 某分区排序后的第一个col值
last_value(col) over() : 某分区排序后的最后一个col值

2)、窗口排名函数
row_number() over() : 排名函数,排名不会重复,一直连续,如1,2,3,4
rank() over() : 排名函数,有并列名次,名次不连续。如:1 ,1 , 3
dense_rank() over() : 排名函数,有并列名次,名次连续。如:1,1,2

干货:
窗口函数具体使用场景
row_number() over()
排名函数中row_number用的较多,
场景1:组内排名

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值