건너뛰거나 실패한 동적 테이블 새로 고침 문제 해결하기

이 항목은 새로 고침을 건너뛰거나 실패한 문제를 해결하는 데 도움이 됩니다. 느린 새로 고침 진단은 동적 테이블 성능 모니터링 섹션을 참조하세요.

동적 테이블 새로 고침을 모니터링 하는 경우 다음 사항에 유의하십시오.

새로 고침 건너뛰기

동적 테이블은 일정에 따라 새로 고쳐집니다. 예약된 새로 고침이 시작될 때 다음과 같은 상황으로 인해 새로 고침이 건너뛸 수 있습니다.

  • 새로 고침 중인 동적 테이블에 업스트림에 다른 동적 테이블이 있고 업스트림에 대한 새로 고침이 실패했거나 건너뛴 경우.

  • 이전에 동적 테이블에 대한 새로 고침이 계속 실행 중인 경우.

  • 동적 테이블의 새로 고침이 종종 목표 지연보다 오래 걸리거나 목표 지연과 실제 지연 사이에 상당한 차이가 있는 경우 Snowflake는 향후 건너뛰는 비율을 줄이기 위해 새로 고침을 건너뛸 수 있습니다.

    예를 들어, 동적 테이블에서는 목표 지연이 1분이지만 일반적으로 새로 고치는 데 1시간이 걸리는 경우 시스템은 그에 따라 ‘실제 지연’을 조정합니다.

    새로 고침 성능을 개선하려면 동적 테이블 성능 최적화 섹션을 참조하세요.

수동 새로 고침은 건너뛰지 않지만 특히 동적 테이블에서 자주 수동 새로 고침을 수행하는 경우 예약된 다른 새로 고침이 건너뛰는 원인이 될 수 있습니다. 그렇게 하면 다운스트림 동적 테이블이 새로 고쳐지지 않을 수 있습니다. 따라서 목표 지연에 따라 새로 고쳐야 하는 다운스트림 동적 테이블이 있는 동적 테이블에서 수동 새로 고침을 자주 수행하지 않는 것이 좋습니다.

실패한 새로 고침

새로 고침 실패는 일반적으로 동적 테이블의 쿼리 정의, 입력 데이터(예: 구문 분석 오류) 또는 업스트림 실패 관련 문제로 인해 발생합니다.

실패한 새로 고침 찾기

실패한 새로 고침을 찾으려면 새로 고침 기록을 쿼리합니다.

SELECT
  name,
  data_timestamp,
  state,
  state_code,
  state_message
FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY(
  NAME_PREFIX => 'MY_DB.MY_SCHEMA',
  ERROR_ONLY => TRUE
));
Copy

Snowsight 의 Refresh History 페이지를 사용하여 실패한 새로 고침을 볼 수도 있습니다. Source Data Timestamp 열은 마지막으로 성공한 새로 고침 시간을 보여줍니다. 새로 고침에 실패해도 이 값은 증가하지 않습니다. 목표 지연보다 훨씬 뒤처지면 동적 테이블이 지연되는 것입니다.

실패한 새로 고침 진단

:ui:`Query Profile`를 통해 각 새로 고침 옆의 :ui:`Show query profile`을 선택하여 문제를 해결합니다. 이는 쿼리의 실행 그래프를 보여줍니다.

Snowsight에서 쿼리 프로필 표시 옵션을 강조 표시합니다.

Snowsight 의 Graph 뷰를 사용하여 종속성을 시각화합니다. 업스트림 동적 테이블이 실패하거나 일시 중단되면 다운스트림 테이블이 실패합니다. 자세한 내용은 동적 테이블에 연결된 테이블의 그래프 보기 섹션을 참조하세요.

실패에 대한 이벤트 테이블 쿼리

이벤트 테이블을 쿼리하여 동적 테이블 전체에서 새로 고침 실패를 찾을 수 있습니다.

SELECT
  timestamp,
  resource_attributes:"snow.executable.name"::VARCHAR AS dt_name,
  resource_attributes:"snow.query.id"::VARCHAR AS query_id,
  value:message::VARCHAR AS error
FROM my_event_table
WHERE
  resource_attributes:"snow.executable.type" = 'DYNAMIC_TABLE' AND
  resource_attributes:"snow.database.name" = 'MY_DB' AND
  value:state = 'FAILED'
ORDER BY timestamp DESC;
Copy

이벤트 테이블 구성 및 경고 설정에 대한 자세한 내용은 동적 테이블에 대한 이벤트 테이블 모니터링 및 경고 섹션을 참조하세요.