### Hive Min/Max Struct ###
업무중 관련 데이터를 하면서 추가 적인 정보 요청으로 쿼리 고민에 빠지게 되었다.
'나는 점수가 몇점인데 나랑 속한 데이터 중에 가장 큰 점수를 가지고 있는 놈의 이름은 무엇인가'
SUBQuery 를 사용하면 쉽게 해결 할 수 있는 문제이지만 좀더 간결한 방식을 원해서 그리고 지원 할 것이라 생각되어 검색해 보았다.
찾아 보니 **MIN/MAX STRUCT**라는 Function이 Hive 0.6.0에서 부터 지원되고 있었다.
그러나 hive 관련 문서에서는 본적이 없다..흠..
사용 방법은 이러하다
select kind, admcode_gu,
max(struct(rv_rate, pid)).col1 as rv_rate ,
max(struct(rv_rate,pid)).col2 as pid
from table_1
group by kind, admcode_gu
결과 값은
```
KIND ADM_GU RV_RATE PID
-----------------------------------------------------------
학원 4143000000 50.0 2623051
학원 4145000000 0.0 1604531945
학원 4146100000 33.33333333333333 9445402
학원 4146300000 42.857142857142854 8150346
학원 4146500000 50.0 6352656
학원 4148000000 35.0 3475500
학원 4150000000 47.5 9306274
학원 4155000000 42.857142857142854 8948154
학원 4157000000 66.66666666666666 1603782972
```
'프로그래밍 > hive' 카테고리의 다른 글
HiveServer Too many open file error (0) | 2018.01.24 |
---|---|
Hive Table 생성 시 Multi-character delimiter 적용 방법 (0) | 2017.12.28 |
Hive CLI 기본 셋팅 (0) | 2017.12.25 |
Hive 성능 향상 방안 (0) | 2016.08.18 |
Hive Command Line CLI History 보기 (0) | 2016.06.07 |