Группировка строк hive в массиве этих строк

у меня есть таблица так :

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

и я хотел бы сгруппировать все псевдонимы пользователя в массиве, в новой таблице, которая будет выглядеть так:

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

Я не могу понять, как это сделать с HiveQL.Должен ли я написать UDF для этого ?

спасибо !

1 ответов


Проверьте встроенная статистическая функция collect_set.

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