Hive 在配置单元中,如何将连接表中的多行合并为第一个表中的单个JSON数组?
我有两个表格如下:Hive 在配置单元中,如何将连接表中的多行合并为第一个表中的单个JSON数组?,hive,hiveql,Hive,Hiveql,我有两个表格如下: users table ========================== | user_id name age | |========================= | 1 pete 20 | | 2 sam 21 | | 3 nash 22 | ========================== hobbies table ============
users table
==========================
| user_id name age |
|=========================
| 1 pete 20 |
| 2 sam 21 |
| 3 nash 22 |
==========================
hobbies table
=========================
| user_id hobby |
|========================
| 1 football |
| 1 running |
| 1 basketball |
=========================
我想进行单个配置单元查询,以返回以下格式的行:
{ "user_id":1, "name":"pete", "hobbies":["football", "running", "basketball"] }
加入表格并使用
collect\u list
将每个用户的爱好放入数组中
select u.user_id,u.name,collect_list(h.hobby) as hobbies
from users u
join hobbies h on u.user_id=h.user_id
group by u.user_id,u.name
使用collect\u set
以获取唯一值,以防出现重复值。是否希望输出为行?是的,输出为行,但我希望连接的表结果为同一行中的json数组谢谢您的帮助。我在这里发布了另一个相关问题:你知道如何解决这个问题吗?