分享好友 最新动态首页 最新动态分类 切换频道
Hive常用函数总结二——开窗函数
2024-12-26 19:35

窗口函数又叫OLAP函数/分析函数,窗口函数兼具分组和排序功能。

Hive常用函数总结二——开窗函数

窗口函数最重要的关键字是 partition by 和 order by

具体语法如下:XXX over (partition by xxx order by xxx)

over()里面的 partition by 和 order by 都不是必选的,over()里面可以只有partition by,也可以只有order by,也可以两个都没有,需根据需求灵活运用。

创建表

 
 

sum over (partition by xxx order by xxx)

 
 

 注意

  • over()里面加 order by 表示:分组内从起点到当前行的pv累积,如,11号的pv1=10号的pv+11号的pv, 12号=10号+11号+12号
  • over()里面不加 order by 表示:将分组内所有值累加。

 
 
 

RANK():分组后,从1开始排名,遇到相同值会在名次中留下空位

DENSE_RANK():分组后,从1开始排名,遇到相同值不会留下空位

ROW_NUMBER():  分组后,从1开始排名,遇到相同值按照表中记录的顺序进行排列

NTILE的使用

需求

取数据排序后的前三分之一的数据

ntile可以看成是:把有序的数据集合平均分配到指定的数量(num)个桶中, 将桶号分配给每一行。如果不能平均分配,则优先分配较小编号的桶,并且各个桶中能放的行数最多相差1。

就是把组内数据分成几份

 
 

创建用户访问页面表: user_url

 
 

lag

LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值。

第一个参数为列名,第二个参数为往上第n行(可选,默认为1,第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL

 

 

lead

与lag相反

LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值。

 
 

FIRST_VALUE

取分组内排序后,截止到当前行,第一个值

 
 

  • LAST_VALUE的使用

取分组内排序后,截止到当前行,最后一个值。

 
 

如果想要取分组内排序后最后一个值,则需要变通一下

使用的是 FIRST_VALUE 的倒序取出分组内排序最后一个值

 
 

创建员工薪水表 staff_salary

 
 

CUME_DIST:小于等于当前值的行数/分组内总行数。order默认顺序 :正序

 
 

 

这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。

创建用户访问表 user_date

 
 

GROUPING SETS的使用

grouping sets是一种将多个group by 逻辑写在一个sql语句中的便利写法。

等价于将不同维度的GROUP BY结果集进行UNION ALL。

 

:上述SQL中的GROUPING__ID,是个关键字,表示结果属于哪一个分组集合,根据grouping sets中的分组条件month,day,1是代表month,2是代表day。

 
  • CUBE的使用

根据GROUP BY的维度的所有组合进行聚合。

 
 

等价于

 
  • ROLLUP的使用

是CUBE的子集,以最左侧的维度为主,从该维度进行层级聚合。

比如,以month维度进行层级聚合

 
 

把month和day调换顺序,则以day维度进行层级聚合

 
 

最新文章
收录网
价值评估:收录网于2024-12-16发布于本站,并永久保存在16757网址导航收录中,收录网主要是介绍收录网网站目录(www.shouluwang.com),免费提供网站目录分类检索,收集正规的中文网站,用户可以自主提交,再由我们编辑、审核,形成网站索引
火爆程度仅次于ChatGPT!字节豆包需要多少算力支撑?哪些公司有望受益?
  来源:华尔街见闻  民生证券分析师团队表示,随着字节在AI方面的布局不断深入,未来算力、数据、能耗解决方案方面的需求将大幅增加,也将带动AI教育、广告服务等行业增长。  字节跳动旗下大模型产品豆包数据表现亮眼,数据显示,豆
靠建站,他实现年收入百万
大家好我叫霍常亮,是一名电商推广从业者,专注于淘宝、京东、拼多多等电商平台营销推广及系统软件开发。简单来说,我们通过帮助卖家推广商品来获取提成,俗称淘客。目前我们的网站月点击量超五十万,年流水和服务客户数也已超百万。从白手
红豆电信不封号电销卡稳定靠谱-全国归属地
电销卡作为一种流量卡或注册卡,已经被广泛应用于电销、短信营销和其他营销方式中。它不仅可以提供高质量的通讯服务,价格更加优惠,成为了广大企业营销的。在众多电销卡品牌中,红豆电信的电销卡特别受欢迎,因为它不仅可以提供出色的服务
举报OpenAI的26岁小伙疑自杀!死前揭ChatGPT训练黑幕
年仅26岁的Suchir Ba在旧金山的公寓中被发现死亡。作为一名曾任职于OpenAI的研究员,他以“吹哨人”的身份公开指控公司涉嫌版权侵犯,却在指控发布仅一个月后离世。Ba出生在加州,早年便展现出对人工智能的热爱。本科就读于伯克利大学计算
管家婆一码中一肖|数据解释说明规划
  在当今数字化和信息化飞速发展的时代,数据的重要性日益凸显。无论是企业的运营还是个人的日常生活,数据分析和解码成为了日常工作中不可或缺的一部分。本文将重点探讨“管家婆一码中一肖|数据解释说明规划”这一概念,旨在通过分析数
科技成果转化的作用包括哪些?
科技成果转化的政策展望1、国务院2016年2月印发的《实施〈中华人民共和国促进科技成果转化法〉若干规定》提出了更为明确的操作措施,强调要打通科技与经济结合的通道,促进大众创业、万众创新,鼓励研究开发机构、高等院校、企业等创新主体
网络推广的多元平台选择,全面解析可进行网络推广的网络平台
在当今数字化的时代,网络推广已成为企业和个人提升品牌知名度、增加产品销量的重要手段,随着互联网的不断发展,涌现出了众多的网络平台可供选择用于网络推广,究竟有哪些网络平台可以做网络推广呢?一、社交媒体平台1、(黑帽seo)(黑帽seo
玩具外贸平台哪一个平台好?
玩具行业现在是很受欢迎,前景也是比较好的,但是在好的行业上,选择平台也显得很重要了,那么,玩具外贸平台哪一个平台好?玩具外贸平台个人推荐是外贸平台Ueeshop,那么,Ueeshop的优势有哪些,我们来给大家介绍下:一、完善的客服特点我
让百度重新收录你的网站的有效方法
如果你的网站被百度删除了,这是一件非常恼人的事情,那么你就要前方百计地让百度重新收录您的网站,本文章介绍了几种方法。   1、是收费我想这个大家都知道了。c7d第二电脑网   2、将网站的域名绑定到,例如可以绑定
相关文章
推荐文章
发表评论
0评