2013-05-30 2 views
8

나는 다음과 같은 테이블이 있습니다그룹화 하이브 행

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

그리고 나는 보일 것이다 새 테이블에 배열 그룹 사용자의 모든 별칭을하고 싶습니다 like :

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

나는 HiveQL.Do를 사용하여이를 수행하는 방법을 알 수 없습니다.이를 위해 UDF를 작성해야합니까?

감사합니다.

답변

11

built-in aggregate functioncollect_set을 확인하십시오.

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

분명히 :) 감사합니다! – C4stor

+0

에는 구조체 유형 필드에 collect_set을 사용할 수있는 방법이 있습니다. – rht

+0

감사합니다. @ 루카스. :) –