- 카테고리:
CURRENT_TASK_GRAPHS¶
현재 예약되었거나 실행 중인 그래프 실행의 상태를 반환합니다. 그래프는 현재 단일 예약 작업 또는 예약된 루트 작업과 하나 이상의 하위 작업으로 구성된 작업의 작업 그래프 로 정의됩니다. 이 함수의 목적상, 루트 작업 은 단일 예약 작업 또는 작업 그래프의 루트 작업을 나타냅니다.
이 함수는 현재 실행 중이거나 향후 8일 이내에 실행하도록 다음으로 예약된 그래프 실행에 대한 세부 정보를 반환합니다. 지난 60분 동안 완료된 그래프 실행에 대한 세부 정보를 검색하려면 COMPLETE_TASK_GRAPHS 테이블 함수를 쿼리하십시오.
이 함수는 전체 Snowflake 계정 또는 지정된 루트 작업에 대한 그래프 실행 세부 정보를 반환합니다.
구문¶
CURRENT_TASK_GRAPHS(
[ RESULT_LIMIT => <integer> ]
[, ROOT_TASK_NAME => '<string>' ] )
인자¶
모든 인자는 선택 사항입니다.
RESULT_LIMIT => integer
함수가 반환하는 최대 행 수를 지정하는 숫자입니다. 결과는 내림차순 SCHEDULED_TIME 순서로 반환됩니다. 일치하는 행의 수가 결과 제한보다 큰 경우, 지정된 제한까지를 범위로 하여 예약된 타임스탬프가 가장 최근인 그래프 실행이 반환됩니다.
범위:
1
~10000
기본값:
1000
ROOT_TASK_NAME => string
루트 작업의 이름을 지정하는 대/소문자를 구분하지 않는 문자열. 정규화되지 않은 작업 이름만 지원됩니다. 지정된 작업의 그래프 실행만 반환됩니다. 여러 작업의 이름이 같은 경우, 이 함수는 이러한 작업 각각에 대한 그래프 실행을 반환합니다.
사용법 노트¶
ACCOUNTADMIN 역할, 작업 소유자(즉, 작업에 대한 OWNERSHIP 권한이 있는 역할) 또는 전역 MONITOR EXECUTION 권한이 있는 역할에 대한 결과만 반환합니다. 역할에 MONITOR EXECUTION 권한이 있는 데다, 작업을 저장하는 데이터베이스 및 스키마에 대한 USAGE 권한도 있는 경우를 제외하고, 출력의 DATABASE_NAME 및 SCHEMA_NAME 값은 NULL입니다.
CURRENT_TASK_GRAPHS 함수를 쿼리할 때 작업 이름 및 결과 제한 인자가 먼저 적용되고, 지정된 경우 각각 WHERE 및 LIMIT 절이 뒤따릅니다. 또한, CURRENT_TASK_GRAPHS 함수는 SCHEDULED_TIME의 내림차순으로 기록을 반환합니다.
실제로, 계정에서 실행 중인 작업 그래프가 많은 경우, 함수가 반환한 결과에는 예약된 작업만 포함될 수 있습니다. 특히 RESULT_LIMIT 값이 상대적으로 낮은 경우 더욱 그렇습니다.
Information Schema 테이블 함수를 호출할 때 세션에는 사용 중인 INFORMATION_SCHEMA 스키마가 있거나 또는 함수 이름이 정규화되어야 합니다. 자세한 내용은 Snowflake Information Schema 섹션을 참조하십시오.
출력¶
이 함수는 다음 열을 반환합니다.
열 이름 |
데이터 타입 |
설명 |
---|---|---|
ROOT_TASK_NAME |
TEXT |
루트 작업의 이름입니다. |
DATABASE_NAME |
TEXT |
그래프를 포함하는 데이터베이스의 이름입니다. |
SCHEMA_NAME |
TEXT |
그래프를 포함하는 스키마의 이름입니다. |
STATE |
TEXT |
그래프 실행의 상태:
루트 작업 실행의 상태가 SKIPPED인 경우 함수는 실행할 행을 반환하지 않습니다. |
SCHEDULED_FROM |
TEXT |
다음 중 하나:
작업 그래프에서 하위 태스크를 실행하는 경우 이 열에서는 루트 태스크 실행과 동일한 값을 반환합니다. |
FIRST_ERROR_TASK_NAME |
TEXT |
오류를 반환한 그래프에서 첫 번째 작업의 이름이며, 오류가 발생한 작업이 없으면 NULL을 반환합니다. |
FIRST_ERROR_CODE |
NUMBER |
FIRST_ERROR_TASK_NAME에 명명된 작업에서 반환된 오류의 오류 코드이며, 오류가 발생한 작업이 없으면 NULL을 반환합니다. |
FIRST_ERROR_MESSAGE |
TEXT |
FIRST_ERROR_TASK_NAME에 명명된 작업에서 반환된 오류의 오류 메시지이며, 오류가 발생한 작업이 없으면 NULL을 반환합니다. |
SCHEDULED_TIME |
TIMESTAMP_LTZ |
루트 작업이 실행을 시작하도록 예약된 시간입니다. 저희는 절대적인 정확성을 보장하기 위해 최선을 다하지만, 예약된 시간 이전에 작업이 실행되지 않는다는 것만 보장합니다. |
QUERY_START_TIME |
TIMESTAMP_LTZ |
루트 작업 정의의 쿼리 실행이 시작된 시간입니다. 이 타임스탬프는 QUERY_HISTORY에서 반환된 쿼리의 시작 시간과 일치합니다. |
NEXT_SCHEDULED_TIME |
TIMESTAMP_LTZ |
SCHEDULED_TIME 시간에 시작된 독립 실행형 작업 또는 작업 그래프 의 현재 실행이 시간 내에 완료된다고 가정할 때, 독립형 또는 루트 작업(작업 그래프 에 있음)의 다음 실행 시작이 예약된 시간입니다. |
ROOT_TASK_ID |
TEXT |
작업 그래프 의 루트 작업에 대한 고유 식별자입니다. 이 ID는 동일한 작업에 대한 SHOW TASKS 출력의 ID 열 값과 일치합니다. |
GRAPH_VERSION |
NUMBER |
실행되었거나 실행되도록 예약된 작업 그래프 의 버전을 식별하는 정수입니다. |
RUN_ID |
NUMBER |
작업 그래프 의 독립 실행형 또는 루트 작업이 실행을 시작하도록 원래 예약된 시간입니다. 형식은 Epoch 시간(밀리초)입니다. . . 원래 예약된 시간은 시스템이 재시도 또는 로딩 균형 재조정 목적으로 동일 작업을 다른 시간에 실행하도록 다시 예약할 수 있는 드문 경우를 나타냅니다. 이 경우, RUN_ID는 원래 예약된 실행 시간을 표시하고 SCHEDULED_TIME은 다시 예약된 실행 시간을 표시합니다. . . RUN_ID는 재시도 전 현재 작업/그래프 실행에 대한 고유 식별자가 아닐 수 있습니다. RUN_ID 대신에 GRAPH_RUN_GROUP_ID 열을 사용할 수 있습니다. |
ATTEMPT_NUMBER |
NUMBER |
이 작업을 실행하려는 시도 횟수를 나타내는 정수입니다. 처음에는 1입니다. |
CONFIG |
TEXT |
명시적으로 설정된 경우 그래프 실행 중에 사용된 그래프 수준 구성을 표시합니다. 그렇지 않으면 NULL을 표시합니다. |
GRAPH_RUN_GROUP_ID |
NUMBER |
그래프 실행의 식별자입니다. 그래프 실행에 여러 작업 실행이 있는 경우 각 작업 실행은 동일한 GRAPH_RUN_GROUP_ID 를 표시합니다. GRAPH_RUN_GROUP_ID 와 ATTEMPT_NUMBER 의 조합을 사용하여 그래프 실행을 고유하게 식별할 수 있습니다. |
BACKFILL_INFO |
OBJECT |
향후 사용을 위해 예약되어 있습니다. 모든 행에 대해 반환된 값은 NULL입니다. |
예¶
계정에서 (아직 실행 중이거나 미래에 예약된) 가장 최근의 그래프 실행 1,000개를 검색합니다. 함수가 반환하는 최대 행 수는 기본적으로 1,000개로 제한됩니다. 반환된 행 수를 변경하려면 RESULT_LIMIT 인자 값을 수정하십시오.
select * from table(information_schema.current_task_graphs()) order by scheduled_time;
(아직 실행 중이거나 미래에 예약된) 지정된 작업에 대해 가장 최근의 그래프 실행 10개를 검색합니다.
select * from table(information_schema.current_task_graphs( result_limit => 10, root_task_name=>'MYTASK'));