将不同数量的行分组为 Hive table 中的列
Group varying number of rows as columns in Hive table
我有一个包含用户 ID 和一些变量选择的 Hive table,基本上看起来像这样:
userID selection
1 A
1 D
1 F
2 A
2 C
我想做的是压缩这些信息,最后得到类似的东西:
userID selection1 selection2 selection3
1 A D F
2 A C
这可能吗?我不清楚如何进行分组,因为可能的选择数量因用户而异。
如果我能做这样的事情就好了:
userID selection
1 A,D,F
2 A,C
我已经尝试了几种方法,但到目前为止还没有一种接近到可以描述的程度。我想我想要的是以下形式:
select userID, group_concat(selection) from table_name group by userID
但据我所知 group_concat 功能不可用。
谢谢!
如果有人最终需要这个问题的答案,可以通过以下方式获得:
select userID, collect_set(selection) from table_name group by userID
我有一个包含用户 ID 和一些变量选择的 Hive table,基本上看起来像这样:
userID selection
1 A
1 D
1 F
2 A
2 C
我想做的是压缩这些信息,最后得到类似的东西:
userID selection1 selection2 selection3
1 A D F
2 A C
这可能吗?我不清楚如何进行分组,因为可能的选择数量因用户而异。
如果我能做这样的事情就好了:
userID selection
1 A,D,F
2 A,C
我已经尝试了几种方法,但到目前为止还没有一种接近到可以描述的程度。我想我想要的是以下形式:
select userID, group_concat(selection) from table_name group by userID
但据我所知 group_concat 功能不可用。
谢谢!
如果有人最终需要这个问题的答案,可以通过以下方式获得:
select userID, collect_set(selection) from table_name group by userID