Hive中实现group concat功能(不用udf)

Posted shujuxiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive中实现group concat功能(不用udf)相关的知识,希望对你有一定的参考价值。

在 Hive 中实现将一个字段的多条记录拼接成一个记录:

 1 hive> desc t;  
 2 OK  
 3 id      string  
 4 str     string  
 5 Time taken: 0.249 seconds  
 6 hive> select * from t;  
 7 OK  
 8 1       A  
 9 1       B  
10 2       C  
11 2       D  
12 Time taken: 0.209 seconds 

 

在Hive0.9中,可用:

SELECT id,
concat_ws(‘|‘, collect_set(str)) 
FROM t  
GROUP BY id;

得到结果:

 

1 A|B

2 C|D

 

但在hive0.7中不容易实现,concat_ws函数不支持Array。

 

以上是关于Hive中实现group concat功能(不用udf)的主要内容,如果未能解决你的问题,请参考以下文章

如何在蜂巢中实现百分位数

在 SQLite 的 GROUP_CONCAT 函数中使用 ORDER BY 子句

在 hive 和 impala 中收集列表功能

替代 Group_Concat 自定义现有的实体框架模型

SQOOP增量抽取时,在HIVE中实现类似Oracle的merge操作

在 Hive 中实现 Limit 查询