카테고리:

Information Schema , 테이블 함수

DYNAMIC_TABLES

이 테이블 함수는 현재 시간으로부터 7일 이내에 집계 지연 메트릭과 가장 최근 새로 고침 상태를 포함한 동적 테이블 에 대한 메타데이터를 반환합니다.

구문

DYNAMIC_TABLES (
  [ NAME => '<string>' ]
  [ , REFRESH_DATA_TIMESTAMP_START => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
  [ , INCLUDE_CONNECTED => { TRUE | FALSE } ]
)
Copy

인자

모든 인자는 선택 사항입니다. 아무런 인자도 제공되지 않으면 계정의 모든 동적 테이블에서 100회의 새로 고침이 반환됩니다.

NAME => 'string'

동적 테이블의 이름입니다.

이름은 작은따옴표로 묶어야 하며 대/소문자를 구분하지 않습니다.

정규화되지 않은 이름(dynamic_table_name), 부분적으로 정규화된 이름(schema_name.dynamic_table_name) 또는 정규화된 이름(database_name.schema_name.dynamic_table_name)을 지정할 수 있습니다.

오브젝트 이름 확인에 대한 자세한 내용은 오브젝트 이름 확인 섹션을 참조하십시오.

이 함수는 이 테이블에 대한 메타데이터를 반환합니다.

REFRESH_DATA_TIMESTAMP_START => constant_expr

동적 테이블 목표 지연과 관련된 메트릭을 계산하기 위한 시간(TIMESTAMP_LTZ 형식)입니다. LATEST_DATA_TIMESTAMP가 REFRESH_DATA_TIMESTAMP_START 이상인 모든 새로고침을 포함합니다.

기본값: 새로 고침 기록의 모든 새로 고침은 7일 동안 보관됩니다.

RESULT_LIMIT => integer

함수가 반환하는 최대 행 수를 지정하는 숫자입니다.

일치하는 행의 수가 이 제한보다 큰 경우, 지정된 제한까지는 가장 최근에 종료된 새로 고침(그리고 여전히 실행 중인 새로 고침)이 반환됩니다.

범위: 1 ~ 10000

기본값: 100.

INCLUDE_CONNECTED => { TRUE | FALSE }

TRUE로 설정하면 이 함수는 NAME 인자에 의해 지정된 동적 테이블에 연결된 모든 동적 테이블에 대한 메타데이터를 반환합니다.

NAME 인자를 지정하고 RESULT_LIMIT 인자는 지정하지 않아야 합니다.

기본값: FALSE

출력

이 함수는 다음 열을 반환합니다.

이러한 열을 보려면 MONITOR 권한이 있는 역할을 사용해야 합니다. 그렇지 않으면 이 함수는 NAME, SCHEMA_NAME, DATABASE_NAME, QUALIFIED_NAME 에 대한 값만 반환합니다. 동적 테이블 권한에 대한 자세한 내용은 동적 테이블의 메타데이터 보기 권한 섹션을 참조하십시오.

열 이름

데이터 타입

설명

NAME

TEXT

동적 테이블의 이름입니다.

SCHEMA_NAME

TEXT

동적 테이블을 포함하는 스키마의 이름입니다.

DATABASE_NAME

TEXT

동적 테이블을 포함하는 데이터베이스의 이름입니다.

QUALIFIED_NAME

TEXT

동적 테이블의 정규화된 이름입니다.

TARGET_LAG_SEC

NUMBER

동적 테이블의 목표 지연 시간(초)입니다. 동적 테이블의 TARGET_LAG 매개 변수에서 지정된 값입니다.

TARGET_LAG_TYPE

TEXT

목표 지연의 유형입니다. 다음 중 하나일 수 있습니다.

  • USER_DEFINED: 동적 테이블에 지정된 TARGET_LAG 매개 변수로 결정됩니다.

  • DOWNSTREAM: 목표 지연이 DOWNSTREAM인 동적 테이블을 포함합니다.

SCHEDULING_STATE

OBJECT

다음으로 구성된 OBJECT:

  • STATE (TEXT): 예약 상태(RUNNING 또는 SUSPENDED).

  • REASON_CODE (TEXT): 동적 테이블이 실행되지 않는 이유에 대한 코드를 지정합니다.

  • REASON_MESSAGE (TEXT): 동적 테이블이 실행되지 않는 이유에 대한 텍스트 설명. 동적 테이블이 RUNNING 상태가 아닌 경우에만 적용됩니다.

  • SUSPENDED_ON (TIMESTAMP_LTZ): 동적 테이블이 일시 중단된 시점의 타임스탬프입니다. 동적 테이블이 SUSPENDED 상태인 경우에만 적용됩니다.

  • RESUMED_ON (TIMESTAMP_LTZ): 동적 테이블이 마지막으로 재개된 시점의 타임스탬프. 동적 테이블이 RUNNING 상태인 경우에만 적용됩니다.

MEAN_LAG_SEC

NUMBER

이 동적 테이블에 대한 새로 고침의 평균 지연 시간(초)입니다.

MAXIMUM_LAG_SEC

NUMBER

이 동적 테이블에 대한 새로 고침의 최대 지연 시간(초)입니다.

TIME_ABOVE_TARGET_LAG_SEC

NUMBER

보존 기간 중 또는 마지막 구성 변경 이후 실제 지연이 정의된 목표 지연보다 큰 시간(초)입니다.

TIME_WITHIN_TARGET_LAG_RATIO

NUMBER

실제 지연이 목표 지연 내에 있는 보존 기간 또는 마지막 구성 변경 이후의 시간 비율입니다.

LATEST_DATA_TIMESTAMP

TIMESTAMP_LTZ

마지막으로 성공한 새로 고침의 데이터 타임스탬프입니다.

LAST_COMPLETED_REFRESH_STATE

TEXT

동적 테이블의 마지막으로 종료된 새로 고침 상태입니다. 다음 중 하나일 수 있습니다.

  • SUCCEEDED: 새로 고침이 성공적으로 완료되었습니다.

  • FAILED: 새로 고침이 실행 중에 실패했습니다.

  • UPSTREAM_FAILED: 업스트림 새로 고침에 실패하여 새로 고침이 수행되지 않았습니다.

  • CANCELLED: 새로 고침이 실행 전에 취소되었습니다.

LAST_COMPLETED_REFRESH_STATE_CODE

TEXT

새로 고침의 현재 상태를 나타내는 코드입니다.

LAST_COMPLETED_REFRESH_STATE가 FAILED인 경우 이 열에는 실패와 관련된 오류 코드가 표시됩니다.

LAST_COMPLETED_REFRESH_STATE_MESSAGE

TEXT

새로 고침의 현재 상태에 대한 설명입니다.

LAST_COMPLETED_REFRESH_STATE가 FAILED인 경우 이 열에는 실패와 관련된 오류 메시지가 표시됩니다.

EXECUTING_REFRESH_QUERY

TEXT

있는 경우 새로 고침 작업의 쿼리 ID를 나타냅니다. null인 경우 새로 고침 작업이 진행 중이지 않습니다.

사용법 노트

  • Information Schema 테이블 함수를 호출할 때 세션에는 사용 중인 INFORMATION_SCHEMA 스키마가 있거나 또는 함수 이름이 정규화되어야 합니다. 자세한 내용은 Snowflake Information Schema 섹션을 참조하십시오.

지정된 동적 테이블과 연결된 모든 동적 테이블의 이름, 지연 정보 및 마지막으로 성공적으로 새로 고친 데이터 타임스탬프를 검색합니다.

SELECT
  name,
  target_lag_sec,
  mean_lag_sec,
  latest_data_timestamp
FROM
  TABLE (
    INFORMATION_SCHEMA.DYNAMIC_TABLES (
      NAME => 'mydb.myschema.mydt',
      INCLUDE_CONNECTED => TRUE
    )
  )
ORDER BY
  target_lag_sec
Copy