impala 에 hive udf를 등록하기 위한 가이드 포스트.
임팔라에 하이브-HIVE UDF 등록
1. java로 쓰여진 Hive UDF 파일을 준비.
- Location : hdfs://my.namenode.com:8020/user/username/lib/my-udf.jar
2. impala-shell 실행
impala-shell
3. impala-shell에서 함수 등록
- hive와 다르게 function parameter와 return 타입을 명시해줘야 합니다.
- location 경로는 local 경로가 아닌 hdfs 경로로 지정해주셔야 합니다.
create function my_urldecode(string, string) returns string location 'hdfs://my.namenode.com:8020/user/username/lib/my-udf.jar' symbol='com.my.udf.MyURLDecode'
impala shell 기타 명령어
-
drop function
DROP FUNCTION my_urldecode(STRING, STRING);
-
show function
show functions;
UDF 등록후 impala에서 데이터 조회시 정상적이지 않은 값 return 시
- impala는 유니코드 기반의 python이고, hive udf는 java기반이기 때문에 한글에 있어서 인코딩 문제가 발생함.
- 이 내용은 다음 포스트에서 다루도록 하겠습니다
'Bigdata Engineering' 카테고리의 다른 글
[CDH] 클라우데라 Hadoop - Open JDK 교체(oracle jdk -> open jdk) (0) | 2020.02.14 |
---|---|
[CDH] Cloudera Manager 클라우데라 매니저 버전 업그레이드 (0) | 2020.02.10 |
[Apache Impala] c++ 을 이용하여 urldecoder UDF 작성 하기 (0) | 2020.02.07 |
[CDH] 클라우데라 로그 확인 - cloudera log check (0) | 2020.02.04 |
[Apache Impala]impala-shell 임팔라 쉘 구동 소스 코드 분석/수정 on Cloudera (0) | 2020.02.04 |