| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> hive中的窗口函数以及应用 -> 正文阅读 |
|
[大数据]hive中的窗口函数以及应用 |
1.sum(col2) over(partition by col1 order by col2) : 通过
col1分组对
col2
累计求和
2.min(col2) over(partition by col1 order by col2) : 通过
col1分组对
col2累计求每次的最小值
3.max(col2) over(partition by col1 order by col2) : 通过
col1分组对
col2累计求每次的最大值
4.avg(col2) over(partition by col1 order by col2) : 通过
col1分组对
col2累计求每次的平均值
5.
first_value(col) over():?取分组内排序后,截止到当前行,第一个值
6.last_value(col) over() : 分组内排序后,截止到当前行,最后一个值
7.lag(col,n,DEFAULT) :
统计往前
n
行的
col
值,
n
可选,默认为
1
,
DEFAULT
当往上第
n
行为
NULL
时候, 取默认值,如不指定,则为NULL,一般搭配开窗函数使用,例如lag(col1,1,0) over(partition by col2 order by col1)
8.lead(col,n,DEFAULT) :
统计往后
n
行的
col
值,
n
可选,默认为
1
,
DEFAULT
当往下第
n
行为
NULL时候, 取默认值,如不指定,则为NULL,一般搭配开窗函数使用,例如lead(col1,1,0) over(partition by col2 order by col1)
9.ntile(n) :
用于将分组数据按照顺序切分成
n
片,返回当前切片值。注意:
n
必须为
int
类型。
10.排名函数:
row_number() over() :
排名函数,不会重复,适合于生成主键或者不并列排名
rank() over() :
排
名函数,有并列名次,名次不连续。一般搭配开窗函数使用,例如row_number() over(partition by col2 order by col1)
-- rank():有并列,相同名次空位,一般搭配开窗函数使用,例如rank() over(partition by col2 order by col1)
-- dense_rank():有并列,相同名次不空位,一般搭配开窗函数使用,例如dense_rank() over(partition by col2 order by col1)
应用
sum()
求月总销售额
mim()
求月最小销售额
max()
求月最大销售额
avg()
求月平均销售额
last_value()求月销售额总最小的一个
排名函数 对学生分数进行排名
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/22 0:06:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |