스키마:

ACCOUNT_USAGE

DYNAMIC_TABLE_REFRESH_HISTORY 뷰

이 Account Usage 뷰에는 동적 테이블 새로 고침 기록에 대한 정보가 표시됩니다.

참고 항목:

DYNAMIC_TABLE_REFRESH_HISTORY (Information Schema)

열 이름

데이터 타입

설명

NAME

VARCHAR

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

SCHEMA_NAME

VARCHAR

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

DATABASE_NAME

VARCHAR

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

ID

NUMBER

동적 테이블에 대해 Snowflake에서 생성한 내부 식별자입니다.

SCHEMA_ID

NUMBER

동적 테이블이 포함된 스키마의 식별자로, Snowflake에서 내부적으로 생성됩니다.

DATABASE_ID

NUMBER

동적 테이블이 포함된 데이터베이스의 식별자로, Snowflake에서 내부적으로 생성됩니다.

STATE

VARCHAR

동적 테이블의 새로 고침 상태입니다. 다음 중 하나일 수 있습니다. . - EXECUTING: 새로 고침이 진행 중입니다. . - SUCCEEDED: 새로 고침이 성공적으로 완료되었습니다. . - FAILED: 실행 중에 새로 고침이 실패했습니다. . - CANCELLED: 실행 전에 새로 고침이 취소되었습니다. . - UPSTREAM_FAILED: 업스트림 새로 고침이 실패하여 새로 고침이 수행되지 않았습니다.

STATE_CODE

VARCHAR

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

STATE_MESSAGE

VARCHAR

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

QUERY_ID

VARCHAR

동적 테이블의 결과를 생성한 SQL 문의 ID입니다.

DATA_TIMESTAMP

TIMESTAMP_LTZ

새로 고침이 평가된 시점의 트랜잭션 타임스탬프입니다. (이는 실제 새로 고침 시간보다 약간 이전 시점일 수 있습니다.) 이 타임스탬프 이전에 도착한 기본 오브젝트의 모든 데이터는 현재 동적 테이블에 포함되어 있습니다.

REFRESH_START_TIME

TIMESTAMP_LTZ

새로 고침 작업이 시작된 시간입니다.

REFRESH_END_TIME

TIMESTAMP_LTZ

새로 고침이 완료된 시간입니다.

COMPLETION_TARGET

TIMESTAMP_LTZ

동적 테이블에 대한 TARGET_LAG 매개 변수에서 지연을 유지하기 위해 이 새로 고침을 완료해야 하는 시간입니다. 이 값은 마지막 새로 고침의 + TARGET_LAG의 DATA_TIMESTAMP와 같습니다.

QUALIFIED_NAME

TEXT

동적 테이블의 그래프에 표시되는 동적 테이블의 정규화된 이름입니다. 이를 사용하여 출력을 다음의 DYNAMIC_TABLE_GRAPH_HISTORY 함수의 출력과 결합할 수 있습니다.

LAST_COMPLETED_DEPENDENCY

OBJECT

다음 속성을 포함합니다. . - qualified_name: 사용 가능해진 최신 종속성의 정규화된 이름입니다. . - data_timestamp: 해당 종속성의 새로 고침 버전입니다.

STATISTICS

OBJECT

다음 속성을 포함합니다. . - numInsertedRows: 삽입된 행의 수입니다. . - numDeletedRows: 삭제된 행의 수입니다. . - numCopiedRows: 변경되지 않은 채 복사된 행의 수입니다. . - numAddedPartitions: 추가된 파티션의 수입니다. . - numRemovedPartitions: 제거된 파티션의 수입니다. . 예: UPDATE 문이 10개의 행이 있는 파티션에서 1개의 행을 업데이트하는 경우. 그러면 위의 메트릭이 삽입된 행 1개, 삭제된 행 1개, 복사된 행 9개를 보여줍니다. 또한 파티션이 1개 제거되고 1개 추가됩니다.

REFRESH_ACTION

TEXT

다음 중 하나: NO_DATA - . - 기본 테이블에 새 데이터가 없습니다. 기본 테이블에 데이터가 있는지 여부에 관계없이 새로 생성된 동적 테이블의 초기 새로 고침에는 적용되지 않습니다. . - REINITIALIZE - 복제 중에 기본 테이블이 변경되었거나 복제된 동적 테이블의 원본 테이블이 새로 고쳐졌습니다. . - FULL - 동적 테이블에 증분할 수 없는 쿼리 요소가 포함되어 있거나(SHOW DYNAMIC TABLE refresh_mode_reason 참조) 전체 새로 고침 비용이 증분 새로 고침보다 저렴해 전체 새로 고침을 수행했습니다. . - INCREMENTAL - 일반적인 증분 새로 고침.

REFRESH_TRIGGER

TEXT

다음 중 하나: . - SCHEDULED - 대상 지연 또는 다운스트림 대상 지연을 충족하기 위한 일반적인 백그라운드 새로 고침. . - MANUAL - 사용된 사용자/작업ALTER DYNAMIC TABLE <name> REFRESH . - CREATION - 동적 테이블 또는 컨슈머 동적 테이블의 생성으로 트리거되는 DDL 문 생성 중에 새로 고침이 수행됩니다.

TARGET_LAG

TEXT

새로 고침이 발생한 시점의 동적 테이블에 대한 목표 지연 값을 설명합니다.

GRAPH_HISTORY_VALID_FROM

TIMESTAMP_NTZ

특정 새로 고침이 동적 테이블의 어느 버전에 해당하는지 명확히 하기 위해 새로 고침이 발생했을 때 DYNAMIC_TABLE_GRAPH_HISTORY 테이블 함수의 VALID_FROM 타임스탬프를 인코딩합니다. 해당 동적 테이블이 생성되지 않은 경우 이 값은 NULL일 수도 있습니다.

사용법 노트

  • 뷰의 지연 시간은 최대 3시간입니다.

  • 이 뷰를 쿼리하려면 SNOWFLAKE.USAGE_VIEWER 데이터베이스 역할 이 부여된 역할을 사용합니다.

지난주에 실패한 동적 테이블 새로 고침을 찾습니다.

SELECT
    data_timestamp,
    database_name,
    schema_name,
    name,
    state,
    state_message,
    query_id
  FROM snowflake.account_usage.dynamic_table_refresh_history
  WHERE state = 'FAILED' AND data_timestamp >= dateadd(WEEK, -1, current_date())
  ORDER BY data_timestamp DESC
  LIMIT 10;
Copy