对于sql(将多行转换为一行并用逗号作为分隔符)有人问过和回答过,提到的任何一种方法在hive中都有效吗,例如:
+------+------+
| Col1 | Col2 |
+------+------+
| a | 1 |
| a | 5 |
| a | 6 |
| b | 2 |
| b | 6 |
+------+------+
对此:
+------+-------+
| Col1 | Col2 |
+------+-------+
| a | 1,5,6 |
| b | 2,6 |
+------+-------+
3条答案
按热度按时间8cdiaqws1#
而且有
collect_list
这将采取完整的名单(与副本)。nbnkbykc2#
聚合器函数
collect_set
能达到你想要的目标。这是文件。因此可以编写如下查询:然而,mysql和
GROUP BY
还有Hivecollect_set
那一段时间GROUP_CONCAT
还保留结果数组中的重复项,collect_set
删除阵列中出现的重复项。在您显示的示例中,没有重复的组值Col2
所以你可以继续使用它。kgqe7b3p3#
试试这个
apache.org文档