hadoop

[hive] 데이터를 하나로 합치기

'김용환' 2016. 2. 29. 15:45


hive의 hql에서 하나의 테이블처럼 데이터를 하나로 합치는 방법은 다음과 같다. union all을 사용한다.



SELECT unioned.id, unioned.var1, unioned.var2

FROM (

  SELECT a.id, a.var1, a.var2

  FROM table_A a


  UNION ALL


  SELECT b.id, b.var1, b.var2

  from table_B b

) unioned;



주의할 점
1. FROM 절에 쓰는 테이블 명에 다른 alias 이름을 다르게 해줘야 한다.
2. 하위 질의의 필드명이 모두 동일해야 한다.
3. 특히 GROUP BY 절을 쓴다면, select에서 사용하는 as 절 뒷 부분이 아니라, 원래 select 원본 데이터를 기준으로 한다.