hive 的开窗函数sum() over() 函数

窗口分析函数 sum() over() :可以实现在窗口中进行逐行累加测试数据:这个是网上比较经典的案例了2: jdbc:hive2://hadoop-03:10000> select * from t_access_amount;+----------------------+------------------------+-------------------------+-...
摘要由CSDN通过智能技术生成

窗口分析函数 sum() over() :可以实现在窗口中进行逐行累加
测试数据:
这个是网上比较经典的案例了

2: jdbc:hive2://hadoop-03:10000> select * from t_access_amount;
+----------------------+------------------------+-------------------------+--+
| t_access_amount.uid  | t_access_amount.month  | t_access_amount.amount  |
+----------------------+------------------------+-------------------------+--+
| A                    | 2015-01                | 33                      |
| A                    | 2015-02                | 10                      |
| A                    | 2015-03                | 20                      |
| B                    | 2015-01                | 30                      |
| B                    | 2015-02                | 15                      |
| B                    | 2015-03                | 45                      |
| C                    | 2015-01                | 30                      |
| C                    
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive中的开窗函数(Window Functions)是一种在查询结果集中进行计算并返回结果的函数。它可以用来计算一些聚合函数的子集,如累计和、排名、分组百分比等等。 Hive支持以下几种开窗函数: 1. ROW_NUMBER():用于返回每个分区中行的序号,从1开始计数; 2. RANK():用于返回每个分区中行的排名,相同的值排名相同,排名相同时下一个排名会跳过; 3. DENSE_RANK():用于返回每个分区中行的密集排名,相同的值排名相同,排名相同时下一个排名不会跳过; 4. PERCENT_RANK():用于返回每个分区中行的百分比排名,即排名/(分区行数-1); 5. CUME_DIST():用于返回每个分区中行的累计分布函数值,即小于等于当前值的行数占总行数的比例; 6. LAG():用于返回当前行指定偏移量之前的行的值; 7. LEAD():用于返回当前行指定偏移量之后的行的值; 8. FIRST_VALUE():用于返回每个分区中第一行的值; 9. LAST_VALUE():用于返回每个分区中最后一行的值; 10. AVG()、SUM()、MIN()、MAX()、COUNT()等聚合函数开窗函数需要使用 OVER() 关键字和 PARTITION BY 子句进行分区,并可以使用 ORDER BY 子句进行排序。例如,以下是一个使用 ROW_NUMBER() 开窗函数Hive 查询示例: ``` SELECT id, name, ROW_NUMBER() OVER(PARTITION BY name ORDER BY id) AS row_num FROM student; ``` 该查询将返回一个结果集,其中包含每个学生的id、name和按照name进行分区后的行号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值