카테고리:

시스템 함수 (시스템 정보)

SYSTEM$GET_TASK_GRAPH_CONFIG

작업 그래프 구성에서 정보를 반환합니다.

작업 그래프에 구성 값을 저장하는 방법에 대한 자세한 내용은 CREATE TASK … CONFIG 섹션을 참조하세요.

구문

SYSTEM$GET_TASK_GRAPH_CONFIG( [<configuration_path>] )
Copy

인자

configuration_path

Optional 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;
Copy

예: 작업 그래프에서 구성 정보를 다른 작업으로 전달하기

작업 그래프의 다른 작업이 읽을 수 있는 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;
Copy