Hive UDF로 Beeline에서 HPL/SQL 스크립트 실행하기

Hive UDF로 Beeline에서 HPL/SQL 스크립트 실행하기

HPL/SQL에는 hplsql이라는 Hive UDF가 있어서, 일반 Hive 쿼리 안에서 HPL/SQL 언어로 작성된 사용자 정의 함수를 실행할 수 있어요. HPL/SQL 스크립트를 Beeline에서 활용하는 방법을 알아봅시다.

출처: 문서

본문

HPL/SQL에는 Hive 쿼리에서 HPL/SQL 스크립트(HPL/SQL 언어로 작성된 사용자 정의 함수)를 실행할 수 있게 해주는 Hive UDF 함수(hplsql)가 포함되어 있습니다.

예를 들어, Hive 쿼리에서 다음 함수를 호출해 봅시다:

CREATE FUNCTION hello(text STRING)
 RETURNS STRING
BEGIN
 RETURN 'Hello, ' || text || '!';
END;

Beeline에서 비-hplsql 모드로 HPL/SQL 스크립트 실행

HPL/SQL 언어로 작성된 hello 함수를 Hive 쿼리에서 사용해 봅시다:

SELECT hplsql('hello(:1)', name) FROM users;

Beeline에서 hplsql 모드로 HPL/SQL 스크립트 실행

Beeline에서 hplsql 모드로 HPL/SQL 스크립트를 실행할 때는, 내장 함수처럼 사용자 정의 함수를 그냥 사용하면 됩니다:

SELECT hello(name) FROM users;

자세한 내용은 User-Defined Functions and Stored Procedures를 참고하세요.

더 알아보기 (Learn more)

hplsql(...) UDF를 쓰면 HPL/SQL 문법을 쿼리 안에서 바로 실행할 수 있어요. hplsql 모드에서는 hello(name)처럼 일반 내장 함수처럼 부르면 되기 때문에 훨씬 자연스럽습니다.