티스토리 뷰
UDAF는 AbstractGenericUDAFResolver를 상속하여 구현한다.
- Resolver 클래스
- 전달파라미터를 체크
- 실제 처리 프로세스 구현체(GenericUDAFEvaluator 구현)를 반환
- Evaluator 클래스
- init(), merge(), terminatePartial() 등의 실제 처리 구현
<Evaluator 클래스 주요 구현>
- getNewAggregationBuffer() - 집계에 사용할 AggregationBuffer 반환
- reset - aggregation 이 재사용될 때의 처리
- init - 입력 받는 아규먼트와 반환값의 타입을 지정
- iterate - 매퍼가 동작하는 동안 반복하는 작업
- terminatePartial - 부분적으로 집계작업을 종류할 때 작업
- merge - 집계작업의 결과를 머지할 때
- terminate - 작업이 종료될 때
hive 매뉴얼 UDAF 작성 예제 - https://cwiki.apache.org/confluence/display/Hive/GenericUDAFCaseStudy
UDAF 작성 예제 #1 - http://stackoverflow.com/questions/6445339/collect-set-in-hive-keep-duplicates
UDAF 구현 예제 #2 - https://www.linkedin.com/pulse/hive-functions-udfudaf-udtf-examples-gaurav-singh
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive] 쿼리를 이용하여 파일시스템에 데이터를 쓰기(INSERT OVERWRITE DIRECTORY) (0) | 2017.04.06 |
---|---|
[hive] 문자열을 맵으로 변화하기 위한 str_to_map() 함수 (0) | 2017.04.05 |
[hive] UDF 구현 예제 (0) | 2017.03.23 |
[hive] 하이브의 UDF, UDAF, UDTF (0) | 2017.03.22 |
[hive] 하이브의 CSV 서데 사용 방법 (0) | 2017.03.08 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- AWS
- bash
- error
- 오류
- java
- Tez
- SPARK
- 파이썬
- 알고리즘
- hbase
- Linux
- oozie
- Hadoop
- ubuntu
- yarn
- SQL
- HIVE
- 정올
- Python
- nodejs
- emr
- HDFS
- S3
- build
- 하이브
- 하둡
- 백준
- airflow
- 다이나믹
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함