当前位置:  开发笔记 > 数据库 > 正文

Concat在hive中有多个分隔符的多行

如何解决《Concat在hive中有多个分隔符的多行》经验,为你挑选了1个好方法。

我需要将'〜'作为分隔符以行'方式连接字符串值.我有以下数据:

在此输入图像描述

我需要以"row_id"的升序顺序为每个"id"连接"Comment"列,并以"〜"作为分隔符.

预期产量如下:

在此输入图像描述

GROUP_CONCAT不是一个选项,因为它在我的Hive版本中无法识别.我可以使用collect_set或collect_list,但我不能在它们之间插入分隔符.

有什么工作吗?



1> David דודו M..:

collect_list返回数组,而不是字符串.
可以使用concat_ws将数组转换为分隔的字符串.


这将有效,没有具体的评论顺序.

select      id
           ,concat_ws('~',collect_list(comment)) as comments

from        mytable 

group by    id
;

+----+-------------+
| id |  comments   |
+----+-------------+
|  1 | ABC~PRQ~XYZ |
|  2 | LMN~OPQ     |
+----+-------------+

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有