首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HIVE窗口函数

HIVE窗口函数

作者头像
努力在北京混出人样
发布2019-02-18 17:54:36
1.5K0
发布2019-02-18 17:54:36
举报
文章被收录于专栏:祥子的故事祥子的故事

重点介绍窗口函数的语法定义,函数应用范围,案例结合。下面内容是根据网上资料整理而成,均带有链接

窗口函数的应用场景http://yugouai.iteye.com/blog/1908121

窗口函数的应用场景
窗口函数的应用场景

LEAD

  • 语法定义

LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值, 参数1为列名,参数2为往下第n行(可选,默认为1),参数3为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL)

  • 应用场景

统计用户停留时间,用户停留在网页的总时间,某网页的总停留时间

  • 案例学习

https://blog.csdn.net/kent7306/article/details/50441967

LAG

  • 语法定义

LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值 参数1为列名,参数2为往上第n行(可选,默认为1),参数3为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)

  • 应用场景

与lead类似

  • 案例学习

https://blog.csdn.net/sunnyyoona/article/details/56484919

FIRST_VALUE、LAST_VALUE()

  • 语法定义
  • 应用场景
  • 案例学习

https://blog.csdn.net/evilcry2012/article/details/52788961 http://blog.itpub.net/28929558/viewspace-1181376/ https://blog.csdn.net/sunnyyoona/article/details/56484919 https://www.cnblogs.com/qingyunzong/p/8798606.html#_label1

OVER 类型的

常见的有

  • COUNT
  • SUM
  • MIN
  • MAX
  • AVG

用法

SUM(字段) over (partition by 字段 a order by 计算项 b desc ) rank
  • 应用场景 求聚合的值
  • 案例学习

http://yugouai.iteye.com/blog/1908121 计算已从平均的案例 https://clarity-us.com/quick-tip-calculrages-using-hive/

分析函数

包括

  • RANK
  • ROW_NUMBER
  • DENSE_RANK
  • CUME_DIST
  • PERCENT_RANK
  • NTILE 用于将分组数据按照顺序切分成n片,返回当前切片值

注意

DISTINCT支持SUM, COUNT和AVG等聚合函数,以及在每个分区内不同值上的聚合。当前实现具有以下限制:由于性能原因,在分区子句中不能支持ORDER BY或窗口规范。 支持的语法如下:

COUNT(DISTINCT a) OVER (PARTITION BY c)

Hive 2.1.0 及更高版本支持聚合函数在OVER字句中使用 添加了对引用OVER子句中的聚合函数的支持。 例如,目前我们可以使用OVER子句中的SUM聚合函数,如下所示:

SELECT rank() OVER (ORDER BY sum(b))
FROM T
GROUP BY a;

详细的中文介绍http://saboloh.com/2016/11/09/hive-languagemanual-windowingandanalytics/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LEAD
  • LAG
  • FIRST_VALUE、LAST_VALUE()
  • OVER 类型的
  • 分析函数
  • 注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档