hive窗函数
来源:互联网 发布:台湾人逛淘宝吗 编辑:程序博客网 时间:2024/05/02 04:26
今天遇到一个问题, 对用户操作信息表,搜索出每个用户的最近10条操作信息,注意:1、最近,也就是按照时间倒排,取出前2条;2、每个用户。
左思右想,实在找不到好办法,后来请教大师,天空飘来五个字儿---使用窗函数。
select * from ( select user_id , time , rank() over ( PARTITION by user_id order by time desc) as rank_num from wfp_topn_test ) a where a.rank_num <= 2;;
首先这里几个概念,我也第一次用到,窗函数 和 PARTITION, PARTITION by field_name,会把表 按照 field_name字段划分成好几张小表,每个表 field_name的字段值相同,类似于group by,但不同的是,group by是将 field字段相同的记录,变成一条记录。
distribute by 和 partition by的区别: distribute by field,是按照field字段值,进行分区,给reduce,个人认为,纯粹是一种mr优化手段,distribute by field 会保证 : field字段值相同的记录在同一个 reduce。
rank 和 DENSE_RANK()的区别, rank 不留空位, DENSE_RANK 反之。
0 0
- hive窗函数
- hive之分析窗函数
- #HIVE#hive函数参考手册
- hive - Hive函数大全
- hive函数
- Hive函数
- hive 函数
- Hive-函数
- hive函数
- HIVE函数
- Hive函数
- hive函数
- Hive函数
- Hive函数
- hive函数
- hive 函数
- hive 函数
- hive 函数
- java CopyOnWriteArrayList的使用
- 数值设定——公式篇
- uva 1385 - Billing Tables(字典树)
- LeetCode-Two Sum
- SQL 高级(3)
- hive窗函数
- 程序员的出路之一
- Association Rules--Apriori Algorithm
- 常用资源整理
- 对象外道道指令程序实例
- uva 1076 - Password Suspects(AC自动机+记忆化搜索)
- drp——servlet
- 【14/9/5】与运行环境交互
- objcpy,objdump,readelf,nm