본문 바로가기
빅데이터/hive

[hive] 하이브 매크로(macro)

by hs_seo 2020. 4. 22.

하이브는 매크로를 이용할 수 있습니다.

생성

기본 문법은 아래와 같습니다. 칼럼 이름을 표현식에 사용할 수 있습니다. 기본 빌트인 함수를 이용하여 매크로를 생성할 수도 있습니다. 매크로는 현재 세션에만 유지됩니다.

CREATE TEMPORARY MACRO macro_name([col_name col_type, ...]) expression;

매크로를 생성하는 방법은 아래와 같습니다.

CREATE TEMPORARY MACRO fixed_number() 42;
CREATE TEMPORARY MACRO string_len_plus_two(x string) length(x) + 2;
CREATE TEMPORARY MACRO simple_add (x int, y int) x + y;
CREATE TEMPORARY MACRO mfunc(a string, b string, c string) CONCAT(CONCAT_WS("/", a, b, c), "/");

hive> select fixed_number();
OK
42

hive> select string_len_plus_two("AB");
OK
4

hive> select simple_add(10, 5);
OK
15

hive> select mfunc('a', 'b', 'c');
OK
a/b/c/

삭제

매크로 이름을 입력하여 삭제합니다.

DROP TEMPORARY MACRO [IF EXISTS] macro_name;

 

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Create/DropMacro

 

LanguageManual DDL - Apache Hive - Apache Software Foundation

ADD, ADMIN, AFTER, ANALYZE, ARCHIVE, ASC, BEFORE, BUCKET, BUCKETS, CASCADE, CHANGE, CLUSTER, CLUSTERED, CLUSTERSTATUS, COLLECTION, COLUMNS, COMMENT, COMPACT, COMPACTIONS, COMPUTE, CONCATENATE, CONTINUE, DATA, DATABASES, DATETIME, DAY, DBPROPERTIES, DEFERRE

cwiki.apache.org

반응형