Hive中窗口函数和侧写函数详解


Hive中窗口函数和侧写函数详解

愿看到这的你能收获知识和一天的好心情,斗志昂扬的继续努力!!!

1、窗口函数
 在hive中窗口函数是比较重要也是比较难理解的函数,窗口函数也叫开窗函数,意思为在数据上开一个窗来达到可以从一个大表中任何部分开始查询,而且想查几行就查几行,所以学会了窗口函数是很方便的,愿你在看到这篇文章后就学会了窗口函数!
 OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化。
 (四个参数)CURRENT ROW:当前行,n PRECEDING:往前n行数据,n FOLLOWING:往后n行数据,UNBOUNDED:无边界
 UNBOUNDED PRECEDING 前无边界,表示从前面的起点,
 UNBOUNDED FOLLOWING后无边界,表示到后面的终点
 LAG(col,n,default_val):往前第n行数据
 LEAD(col,n, default_val):往后第n行数据
 FIRST_VALUE (col,true/false):当前窗口下的第一个值,第二个参数为true,跳过空值
 LAST_VALUE (col,true/false):当前窗口下的最后一个值,第二个参数为true,跳过空值
 NTILE(n):把有序窗口的行分发到指定数据的组中,各个组有编号,编号从1开始,对于每一行,NTILE返回此行所属的组的编号。注意:n必须为int类型。
 窗口函数一般写在select中的最后一行,因为窗口函数是将前面的结果进行一次操作的函数。
2、侧写函数
 侧写函数比较抽象,不易理解,但是他的格式固定,且形式比较简单,所以大家只要记住在什么需求下,什么情况下进行使用侧写函数即可。
 LATERAL VIEW
用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias
解释:lateral view用于和split, explode等UDTF一起使用,它能够将一行数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。
lateral view首先为原始表的每行调用UDTF,UTDF会把一行拆分成一或者多行,lateral view再把结果组合,产生一个支持别名表的虚拟表。
例:
原始数据
Hive中窗口函数和侧写函数详解
需求

Hive中窗口函数和侧写函数详解
代码实现
SELECT movie,category_name
FROM movie_info
lateral VIEW
explode(split(category,”,”)) movie_info_tmp AS category_name ;

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

Hive中窗口函数和侧写函数详解

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Hive中窗口函数和侧写函数详解
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏