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数组谢谢您的帮助。我在这里发布了另一个相关问题:你知道如何解决这个问题吗?