Hive 的collect_set使用详解
来源:互联网 发布:企业电话铃声制作软件 编辑:程序博客网 时间:2024/06/05 04:20
有这么一需求,在Hive中求出一个数据表中在某天内首次登陆的人;可以借助collect_set来处理sql:
上面中的
会按照id分组,因为一个id可能对应一天也可能对应多天,对应多天表示有多天都有登陆,所以一个id会对应多个日期time,通过collect_set会把每个id所对应的日期构建成一个以逗号分隔的数组返回。上述SQL返回:
所以我们就可以按照这个返回的数组做文章,即为
表示某id所对应的数组长度为1 并且第一个时间为20150906的id表示为该天首次登陆。总结:
- Hive不允许直接访问非group by字段;
- 对于非group by字段,可以用Hive的collect_set函数收集这些字段,返回一个数组;
- 使用数字下标,可以直接访问数组中的元素;
转载:http://blog.csdn.net/liyantianmin/article/details/48262109
0 0
- Hive 的collect_set使用详解
- Hive 的collect_set使用详解
- Hive 的collect_set使用详解
- Hive的collect_set使用详解
- Hive 的collect_set使用详解
- Hive中列转行函数collect_set详解
- 用spark实现hive中的collect_set函数的功能
- hive列转行 (collect_set())
- hive列转行 (collect_set())
- Hive sql 使用group by 字段被限制使用 collect_set/collect_list处理
- Hive中的explode()函数和collect_set()函数
- HIVE中关于collect_set与explode函数妙用
- hive collect_set,lateral view,explode 实现行列转换
- HIVE RegexSerDe使用详解
- Hive JOIN使用详解
- Hive JOIN使用详解
- Hive JOIN使用详解
- Hive JOIN使用详解
- iOS-学习笔记-内存管理 (1)自动引用计数
- 234. Palindrome Linked List(Linked List-Easy)
- LightOJ 1259
- 建立SVN服务器
- AIDL实现
- Hive 的collect_set使用详解
- java设计模式之原型模式
- 微软官方caffe之 matlab接口配置
- 牛客网刷题之JAVA_2017.3.21
- 第14节-主成分分析
- WiN10 + Ubuntu16.04 双系统安装问题总结
- TCP的可靠性传输
- 程序员必备排序之选择排序、堆排序
- C和C++的区别 05.运算符