数仓工具—Hive语法之窗口函数ntile(11)

本文介绍了Hive中的窗口函数ntile,用于将数据均匀分成n片。ntile不支持ROWS BETWEEN,如果不指定ORDER BY,将按输入逆序分片。通过实例展示了ntile在求全局和子窗口百分比、数据分片处理等场景的应用。总结了ntile处理不均匀分片的规律和默认排序规则。
摘要由CSDN通过智能技术生成

ntile

今天我们学习一个窗口函数ntile(tile 的意思是瓦片,动词的意思是并列显示),ntile(n)用于将分组数据按照顺序切均匀分成n片,返回每条数据当前所在的切片值,其实就是将数据分为n 组,然后告诉你这条数据属于那一组和其他窗口函数不同的是,它不支持ROWS BETWEEN

从按照顺序均匀分成n 片的描述我们就能知道这个窗口函数是按照某一顺序对数据进行均匀分片的,如果我们不指定order by 子句,那就是按照数据的输入逆序进行的。

测试数据

下面有一份测试数据id,dept,salary,然后我们就使用这份测试数据学习我们的窗口排序函数

1,销售,10000
2,销售,14000
3,销售,10000
4,后端,20000
5,后端,25000
6,后端,32000
7,AI,40000
8,AI,35000
9,AI,60000
10,数仓,20000
11,数仓,30000
12,数仓,32000
13,数仓,42000
create table ods_num_window(
    id 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不二人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值