将不同行数分组为Hive表

时间:2015-07-15 21:41:39

标签: hive hiveql

我有一个包含userID和一些变量选项的Hive表,基本上看起来像这样:

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函数不可用。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果有人最终需要答案,可以通过以下方式实现:

select userID, collect_set(selection) from table_name group by userID