将不同数量的行分组为 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