그룹별로 상위 n개의 데이터만 출력하는 방법은 윈도우 함수(window function) 중에서 RANK() 함수를 이용한다. RANK 함수는 ORDER BY를 포함한 쿼리에서 특정 칼럼의 순위를 구하는 함수이다. 아래와 같이 PARTITION BY, ORDER BY 를 함께 이용하여 그룹별로 순위를 구할 수 있고,이 순위를 이용하여 상위 n개의 결과만 출력이 가능하다. SQL> SELECT JOB, ENAME, SAL, RANK( ) OVER (ORDER BY SAL DESC) ALL_RANK, RANK( ) OVER (PARTITION BY JOB ORDER BY SAL DESC) JOB_RANK FROM EMP; JOB ENAME SAL ALL_RANK JOB_RANK --------- ------..
Order by- 전체 데이터를 정렬- 하나의 리듀서로 진행- 용량이 커지면 문제가 발생할 가능성이 높음- 용량이 많을 경우 limit 를 이용하여 데이터를 제한해야 함 sort by- 리듀서별로 데이터를 정렬- 즉, 파일별로 정렬되어 생성됨- 보통 distribute by 와 함께 사용하여 처리, - distribute by는 리듀서로 보내는 데이터의 분류 기준 cluster by- distributed by, sort by를 동시에 사용한 것 Hive 입문 발표 자료 from beom kyun choi http://saurzcode.in/2015/01/hive-sort-vs-order-vs-distribute-vs-cluster/ https://cwiki.apache.org/confluence/dis..
- Total
- Today
- Yesterday
- 하둡
- Hadoop
- AWS
- 오류
- nodejs
- error
- yarn
- bash
- Python
- airflow
- HDFS
- hbase
- emr
- 알고리즘
- build
- SQL
- 파이썬
- 하이브
- 정올
- HIVE
- Tez
- S3
- java
- 백준
- ubuntu
- Linux
- SPARK
- mysql
- oozie
- 다이나믹
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |