LOAD 문

LOAD 문 (LOAD Statements)

LOAD 문은 내장(built-in) 또는 사용자 정의 모듈(module)을 로드하는 데 사용돼요.

출처: 문서

본문

LOAD 문 실행하기 (Run a LOAD statement)

LOAD 문은 TableEnvironmentexecuteSql() 메서드로 실행할 수 있어요. executeSql() 메서드는 LOAD 연산이 성공하면 'OK'를 반환하고, 그렇지 않으면 예외를 던져요.

다음 예시들은 TableEnvironment에서 LOAD 문을 실행하는 방법을 보여줘요. Python에서는 execute_sql(), SQL CLI에서는 SQL CLI에서 실행할 수 있어요.

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);

// load a hive module
tEnv.executeSql("LOAD MODULE hive WITH ('hive-version' = '3.1.3')");
tEnv.executeSql("SHOW MODULES").print();
// +-------------+
// | module name |
// +-------------+
// |        core |
// |        hive |
// +-------------+
val env = StreamExecutionEnvironment.getExecutionEnvironment()
val tEnv = StreamTableEnvironment.create(env)

// load a hive module
tEnv.executeSql("LOAD MODULE hive WITH ('hive-version' = '3.1.3')")
tEnv.executeSql("SHOW MODULES").print()
// +-------------+
// | module name |
// +-------------+
// |        core |
// |        hive |
// +-------------+
table_env = StreamTableEnvironment.create(...)

# load a hive module
table_env.execute_sql("LOAD MODULE hive WITH ('hive-version' = '3.1.3')")
table_env.execute_sql("SHOW MODULES").print()
# +-------------+
# | module name |
# +-------------+
# |        core |
# |        hive |
# +-------------+
Flink SQL> LOAD MODULE hive WITH ('hive-version' = '3.1.3');
[INFO] Load module succeeded!

Flink SQL> SHOW MODULES;
+-------------+
| module name |
+-------------+
|        core |
|        hive |
+-------------+

LOAD MODULE

다음 문법은 사용 가능한 구문의 개요를 보여줘요:

LOAD MODULE module_name [WITH ('key1' = 'val1', 'key2' = 'val2', ...)]

module_name은 단순 식별자(simple identifier)예요. 모듈 발견(discovery)을 수행하는 데 사용되므로 대소문자를 구분하며, 모듈 팩토리에 정의된 모듈 타입과 동일해야 해요. ('key1' = 'val1', 'key2' = 'val2', ...) 속성은 키-값 쌍의 집합을 담는 맵으로, 'type' 키를 제외하고 해당 모듈을 인스턴스화하기 위해 발견 서비스로 전달돼요.

더 알아보기 (Learn more)