- 카테고리:
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
루트 작업의 이름을 지정하는 대/소문자를 구분하지 않는 문자열. 정규화되지 않은 작업 이름만 지원됩니다. 지정된 작업의 그래프 실행만 반환됩니다. 여러 작업의 이름이 같은 경우, 이 함수는 이러한 작업 각각에 대한 그래프 실행을 반환합니다.
사용법 노트¶
이 함수 내에서 작업 그래프를 보려면 호출하는 역할에 다음 권한 중 하나 이상이 필요합니다.
작업에 대한 OWNERSHIP 권한(즉, 작업 소유자).
작업에 대한 MONITOR 또는 OPERATE 권한.
전역 MONITOR EXECUTION 권한.
ACCOUNTADMIN 역할.
역할은 작업을 저장하는 데이터베이스 및 스키마에 대한 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'));