Hive 정렬관련해서 정리해보고자 한다.
크게 Order By, Sort By, Cluster By,Distribute By 4가지로 나뉜다.
Order By
- 1개의 리듀서로 전체데이터 정렬
- 데이터 용량이 클수록 오류 발생확률 높아짐
Sort By
- 리듀서별로 데이터 정렬
- 리듀서 개수가 많을수록 속도는 빠름
- 최종데이터가 정렬이 되지 않아 단독으로는 정렬용도로 사용 불가
Distribute By
- Group By랑 유사
- 데이터가 리듀서로 갈 때, 같은 컬럼 값인 데이터들을 모아서 리듀서로 보내짐
Cluster By
- Distribute By와 Sort By 같이 사용한 정렬
- Distribute By로 기준 컬럼을 두고 여러 리듀서로 보내어 Sort By 처리