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기반이기 때문에 한글에 있어서 인코딩 문제가 발생함.
  • 이 내용은 다음 포스트에서 다루도록 하겠습니다

+ Recent posts