SYSTEM$GET_DIRECTORY_TABLE_STATUS

SYSTEM$GET_DIRECTORY_TABLE_STATUS

계정의 스테이지에 대한 디렉터리 테이블(directory table) 일관성 상태를 포함하는 레코드 목록을 반환해요. 일관성 상태는 복제된 스테이지의 디렉터리 테이블이 스테이지의 모든 복제된 파일에 대한 정보를 가지고 있는지(일관성이 있는지)를 나타내요.

출처: Snowflake SYSTEM$GET_DIRECTORY_TABLE_STATUS 함수 문서

본문

참고 항목: 스테이지, 파이프, 로드 기록 복제, 디렉터리 테이블

구문 (Syntax)

SYSTEM$GET_DIRECTORY_TABLE_STATUS( [ '<stage_name>' ] )

인자 (Arguments)

선택 (Optional):

  • 'stage_name' — 디렉터리 테이블 일관성 상태를 검색할 스테이지예요. 스테이지 이름을 지정하면 이 함수는 해당 스테이지의 디렉터리 테이블에 대한 단일 레코드가 있는 목록을 반환해요.

반환 값 (Returns)

계정의 각 스테이지에 대한 디렉터리 테이블 일관성 레코드 목록을 반환해요. 이 목록은 최대 10,000개의 레코드를 포함해요. 'stage_name' 인자를 지정하면 이 함수는 해당 스테이지의 디렉터리 테이블에 대한 단일 레코드가 있는 목록을 반환해요.

레코드는 JSON 형식이며 다음 이름/값 쌍을 포함해요.

{
  "stage" : "STAGE1",
  "status" : "INCONSISTENT"
}

여기서:

  • stage — 디렉터리 테이블이 활성화된 스테이지예요.
  • status — 디렉터리 테이블의 일관성 상태예요. 디렉터리 테이블이 스테이지의 복제된 콘텐츠와 완전히 일치하면 CONSISTENT, 그렇지 않으면 INCONSISTENT예요. INCONSISTENT 상태는 Snowflake가 일관성을 확인할 수 없으며 디렉터리 테이블이 스테이지에 존재하는 일부 파일에 대한 정보를 누락했을 수 있음을 의미해요.

사용 참고 (Usage Notes)

  • 이 함수를 호출하려면 일관성 상태를 검색할 스테이지에 대한 READ 권한이 부여되거나 상속된 역할을 사용해야 해요.
  • 일관성 상태를 INCONSISTENT에서 CONSISTENT로 업데이트하려면 ALTER STAGE … REFRESH 명령을 사용해 전체 새로 고침을 수행해요.

예제 (Examples)

다음 예제는 계정의 스테이지에 대한 일관성 상태 레코드 목록을 가져와요.

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS();

출력:

[
  {
    "stage" : "STAGE1",
    "status" : "CONSISTENT"
  },
  {
    "stage" : "STAGE2",
    "status" : "INCONSISTENT"
  }
]

다음 예제는 stage1이라는 이름의 스테이지에 대한 일관성 상태 레코드를 가져와요.

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS('stage1');

출력:

[
  {
    "stage" : "STAGE1",
    "status" : "CONSISTENT"
  }
]

더 알아보기