- 카테고리:
시스템 함수 (시스템 정보)
SYSTEM$GET_TASK_GRAPH_CONFIG¶
작업 그래프 구성에서 정보를 반환합니다.
작업 그래프에 구성 값을 저장하는 방법에 대한 자세한 내용은 CREATE TASK … CONFIG 섹션을 참조하세요.
구문¶
SYSTEM$GET_TASK_GRAPH_CONFIG( [<configuration_path>] )
인자¶
configuration_pathOptional path of the configuration value to return.
Uses the same syntax as Snowflake queries for semi-structured data. See GET_PATH for more information.
예¶
다음 예제에서는 구성을 정의하는 작업을 생성한 후 SYSTEM$GET_TASK_GRAPH_CONFIG 함수를 사용하여 구성에서 값을 검색합니다.
CREATE OR REPLACE TASK root_task_with_config
WAREHOUSE = mywarehouse
SCHEDULE = '10 m'
CONFIG = $${"output_dir": "/temp/test_directory/", "learning_rate": 0.1}$$
AS
BEGIN
LET OUTPUT_DIR STRING := SYSTEM$GET_TASK_GRAPH_CONFIG('output_dir')::string;
LET LEARNING_RATE DECIMAL := SYSTEM$GET_TASK_GRAPH_CONFIG('learning_rate')::DECIMAL;
...
END;
예: 작업 그래프에서 구성 정보를 다른 작업으로 전달하기¶
작업 그래프의 다른 작업이 읽을 수 있는 JSON 오브젝트를 사용하여 구성 정보를 전달할 수 있습니다.
CREATE/ALTER TASK … CONFIG 구문을 사용하여 루트 작업에서 구성 정보를 설정, 설정 해제 또는 수정합니다. 그런 다음 SYSTEM$GET_TASK_GRAPH_CONFIG 함수를 사용하여 검색합니다.
다음 예제에서는 JSON 오브젝트를 사용하여 구성 정보를 전달하고 테이블에 저장하는 방법을 보여줍니다.
CREATE OR REPLACE TASK my_task_root
SCHEDULE = '1 MINUTE'
USER_TASK_TIMEOUT_MS = 60000
CONFIG = $${"environment":"production", "dir":"/my_prod_directory/"}$$
AS SELECT 1;
CREATE OR REPLACE TASK my_child_task
USER_TASK_TIMEOUT_MS = 600000
AFTER my_task_root
AS
BEGIN
LET value := (SELECT SYSTEM$GET_TASK_GRAPH_CONFIG('dir'));
CREATE TABLE IF NOT EXISTS my_table(name VARCHAR, value VARCHAR);
INSERT INTO my_table VALUES('my_task_root dir',:value);
END;