原创

HIVE窗口函数

CSDN博客地址:https://mp.csdn.net/mdeditor/81067060

窗口函数的应用场景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/

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HIVE窗口函数

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

    努力在北京混出人样
  • R语言技巧:读csv格式的文件

    最近Rsudio更新https://www.rstudio.com/products/rstudio/download/了,对我们常用的几种文件格式都作用了封装...

    努力在北京混出人样
  • TCGA数据下载:R包TCGA2STAT介绍

    上期介绍了若干种获取TCGA数据的方法,今天这期会落点于TCGA2STAT这个R包的介绍上,一步步的来说明下载方法,哪些数据是可以下载到的。

    努力在北京混出人样
  • 虚拟机环境下,Ubuntu16.04中安装anaconda3 TensorFlow

    使用火狐浏览器,访问https://repo.anaconda.com/archive/,选择合适版本进行下载。

    用户4908836
  • 爬虫入门(Java)

    网络爬虫是什么?是一种按照一定规则,自动抓取网页信息的脚本。对于获取公开数据,是一个效率很高的工具。本篇文章先介绍HttpClient,Jsoup这两个开源工具...

    营琪
  • 最新工具Galaxy mothur Toolset (GmT) ——Galaxy平台整合Mothur分析流程

    GigaScience是华大基因和生物医学中心共同创办的生物学期刊,2012年7月正式发行。目前IF:7.267

    生物信息知识分享
  • 1个人3步轻松搞定“实时聊天室” | 云开发实战

    这是一个由 create-react-app 快速生成的脚手架项目,所以大部分构建和工程化的细节这里就略过不谈了,我们直接来看代码实现,大致上实现了三个功能,括...

    腾讯云开发TCB
  • 实时音视频 MAC端 自定义消息发送报错

    用户6216339
  • 2020年计算机视觉学习指南

    原文:https://towardsdatascience.com/guide-to-learn-computer-vision-in-2020-36f19d9...

    材ccc
  • React语法基础之JSX

    概述 React的核心机制之一就是可以在内存中创建虚拟的DOM元素。React利用虚拟DOM来减少对实际DOM的操作从而提升性能。 JSX是什么 JSX是Rea...

    xiangzhihong

扫码关注云+社区

领取腾讯云代金券