在 Hive 中,您可以使用 GROUP BY 和 CONCAT_WS 函数来将多行合并成一行。
例如,假设您有一个名为 "my_table" 的表,其中有以下数据:
id | name
---|-----
1 | Alice
1 | Bob
1 | Charlie
2 | Dave
2 | Eve
您可以使用以下查询来将每个 id 的 name 值合并成一行:
SELECT id, CONCAT_WS(',', COLLECT_LIST(name)) AS names
FROM my_table
GROUP BY id;
上面的查询将输出以下结果:
id | names
---|---------
1 | Alice,Bob,Charlie
2 | Dave,Eve
其中,COLLECT_LIST 函数会将每个 id 对应的 name 值收集到一个列表中,然后 CONCAT_WS 函数会将这个列表中的值用逗号分隔符连接起来。
希望这个回答能够帮助您解决问题。如果您还有任何其他问题,请随时提问。