将hive行分组到此行的数组中

时间:2013-05-30 12:49:33

标签: hive hiveql

我有一张如下表格:

User:String Alias:String
JohnDoe     John
JohnDoe     JDoe
Roger       Roger

我想将一个用户的所有别名分组到一个数组中,在一个新表中,如下所示:

User:String Alias:array<String>
JohnDoe     [John, JDoe]
Roger       [Roger]

我无法弄清楚如何使用HiveQL。我必须为此编写UDF吗?

谢谢!

1 个答案:

答案 0 :(得分:12)

查看built-in aggregate function collect_set

select 
    User, 
    collect_set(Alias) as Alias
from table
group by User;