Bigdata Engineering
[Apache Impala]임팔라에 Hive UDF를 (User Defined Function) 등록하기
DAMAT
2020. 2. 6. 18:30
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기반이기 때문에 한글에 있어서 인코딩 문제가 발생함.
- 이 내용은 다음 포스트에서 다루도록 하겠습니다