카테고리:

시스템 함수 (시스템 정보)

SYSTEM$AUTO_REFRESH_STATUS

외부에서 관리되는 Iceberg 테이블 에 대해 자동화된 새로 고침 상태를 반환합니다.

참고

액세스 권한이 있는 모든 외부 관리되는 Apache Iceberg™ 테이블에 대해 이 새로 고침 상태를 반환하려면 SHOW ICEBERG TABLES 명령을 실행하고 출력에서 auto_refresh_status 열을 확인합니다.

구문

SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
Copy

인자

'table_name'

현재 자동 새로 고침 상태를 검색하려는 Iceberg 테이블의 이름입니다.

정규화된 이름을 사용하는 경우 데이터베이스와 스키마를 포함하여 전체 이름을 작은따옴표로 묶어야 합니다. 테이블 이름이 대/소문자를 구분하거나 특수 문자나 공백을 포함하는 경우에는 큰따옴표를 사용해야 합니다. 큰따옴표는 작은따옴표 내에 묶습니다(예: '"Table_Name"').

반환

이 함수는 다음 이름/값 쌍을 포함하는 JSON 오브젝트를 반환합니다.

{
  "executionState":"<value>",
  "invalidExecutionStateReason":"<value>",
  "pendingSnapshotCount":"<value>",
  "oldestSnapshotTime":"<value>",
  "currentSnapshotId":"<value>",
  "currentSnapshotSummary":"<value>",
  "lastSnapshotTime":"<value>",
  "lastUpdatedTime":"<value>",
  "currentMetadataFile":"<value>",
  "currentSchemaId":"<value>"
}
Copy

여기서

executionState

Snowflake가 테이블에 대한 메타데이터 새로 고침을 자동화하는 데 사용하는 파이프의 현재 실행 상태입니다.

값:

  • RUNNING: 자동 새로 고침이 예상대로 실행되고 있습니다. 이 상태는 Snowflake가 파이프에 대한 이벤트 메시지를 적극적으로 처리하고 있는지 여부를 나타내지 않습니다.

  • STALLED: 자동 새로 고침에서 오류가 발생하여 복구를 시도하고 있습니다.

  • STOPPED: 자동 새로 고침에서 복구할 수 없는 오류가 발생하여 추가적인 조치를 취하지 않을 경우 새로 고침이 중지됩니다. 자세한 내용은 오류 복구 섹션을 참조하십시오.

invalidExecutionStateReason

STALLED 또는 STOPPED 실행 상태와 관련된 오류 메시지입니다.

pendingSnapshotCount

자동 새로 고침을 위해 큐에 대기 중인 스냅샷 수입니다.

oldestSnapshotTime

큐에 대기 중인 스냅샷 중 가장 빠른 타임스탬프입니다. Snowflake는 스냅샷이 큐에 추가될 때 스냅샷의 타임스탬프를 설정합니다.

currentSnapshotId

Snowflake가 추적 중인 현재 스냅샷의 ID입니다. 이는 현재 테이블 데이터에 해당하는 스냅샷을 나타냅니다.

currentSnapshotSummary

metadata.json 파일의 Iceberg 스냅샷 요약입니다. 메타데이터 파일에 없는 경우 NULL 입니다.

lastSnapshotTime

Iceberg 메타데이터에 따른 현재 스냅샷의 생성 타임스탬프입니다. 이 타임스탬프는 외부 카탈로그에서 현재 스냅샷이 생성된 시점에 해당합니다.

lastUpdatedTime

Snowflake가 현재 스냅샷을 성공적으로 처리한 시점을 나타내는 타임스탬프입니다. 이 값과 lastSnapshotTime 사이의 차이는 외부 카탈로그에서 스냅샷이 생성되는 시점과 Snowflake가 테이블 메타데이터를 성공적으로 새로 고치는 시점 사이의 지연 시간을 나타냅니다.

지연 시간을 줄이려면 테이블과 연결된 카탈로그 통합의 REFRESH_INTERVAL_SECONDS 매개 변수를 조정합니다.

currentMetadataFile

현재 메타데이터 파일의 전체 경로입니다.

currentSchemaId

현재 스키마의 ID 입니다.

사용법 노트

  • 이 함수를 호출하려면 Iceberg 테이블에 대한 OWNERSHIP 권한이 있는 역할이 필요합니다.

  • 델타 기반 테이블의 경우 다음 사항에 유의하십시오.

    • 이 함수 및 Snowflake의 자동 새로 고침과 관련하여 “스냅샷”이라는 용어는 Delta 커밋을 의미합니다.

    • 이 함수는 lastSnapshotTime 에 대한 값을 반환하지 않습니다.

스키마 db1.schema1 의 테이블 my_iceberg_table 에 대한 자동 새로 고침 상태를 검색합니다.

SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');
Copy