文档章节

Hive collect_set函数

JackieYeah
 JackieYeah
发布于 2016/05/22 20:22
字数 162
阅读 8450
收藏 1

背景

工作中遇到这样一个需求, 就是需要查出品牌对应的所有分类, 目前品牌分类表大致结构如下:

av_seqcp_seq
11111CC0000
11111CC1111
11111CC2222
22222CC3333
22222CC4444

最终想要的结果是:

| 11111 | CC0000, CC1111, CC2222

| 22222 | CC3333, CC4444

collect_set函数

collect_set 是 Hive 内置的一个聚合函数, 它返回一个消除了重复元素的对象集合, 其返回值类型是 array 。

上述需求就可以使用 collect_set 函数来实现, 具体SQL如下:

select av_seq, concat_ws(',', collect_set(cp_seq)) from dw.smbrandcp group by av_seq;

参考文档

[Hive内置聚合函数](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inAggregateFunctions(UDAF)

© 著作权归作者所有

JackieYeah
粉丝 45
博文 70
码字总数 90004
作品 0
武汉
程序员
私信 提问
大数据入门与实战-Hive 常见SQL、技巧与问题

1 常见SQL 取数据库前100条数据 -随机取100条数据 2 常见方法 宏的使用 宏可以看做是一个简短的函数,或者是对一个表达式取别名,同时可以将这个表达式中的一些值做成变量调用时传入,比较适...

致Great
05/28
0
0
spark +hive 自定义聚合函数回顾--group_concat实现

闲下来再回顾下spark 和 hive 的聚合函数 使用: spark自定义聚合函数类 spark自定义聚合函数的调用: 下图为调用自定义聚合函数groupconcat的结果,其实直接使用concatws()函数也能实现gro...

Sheav
2018/09/27
37
0
如何在HiveQL里面实现group_concat

MySQL里面有一个强大的group_concat函数,可以把group by的结果聚集到同一行中, 比如下面这样的表: select uid, group_concat(iid) from xxx group by uid 执行之后结果类似于: 但是HiveQ...

余二五
2017/11/08
0
0
hive语句和mysql用法区别存档

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/quiet_girl/article/details/85246416 写在前面 mysql和hive版本: mysql版本:5.6.17 hive版本:2.1.1 一、G...

nana-li
2018/12/25
0
0
Hive group by操作后将其他字段串接

表tmp_test a ios b andriod a andriod 目标数据 a ios|andriod b andriod sql: select uid,concatws('|', collectset(device)) from tmp_test group by uid; collect_set 是 Hive 内置的一......

落花非有意
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
725
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
26
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
75
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
74
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部