카테고리:

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

SYSTEM$GET_DIRECTORY_TABLE_STATUS

계정의 스테이지에 대한 디렉터리 테이블 일관성 상태가 포함된 레코드 목록을 반환합니다. 일관성 상태는 복제된 스테이지의 디렉터리 테이블에 해당 스테이지에서 복제된 모든 파일에 대한 정보가 있는지, 이들 파일과 일치하는지 여부를 나타냅니다.

참고 항목:

스테이지, 파이프 및 로드 기록 복제 , 디렉터리 테이블

구문

$SYSTEM_GET_DIRECTORY_TABLE_STATUS( [ '<stage_name>' ] )
Copy

인자

선택 사항:

'stage_name'

디렉터리 테이블 일관성 상태를 검색하려는 스테이지입니다. 스테이지 이름을 지정하면 함수가 해당 스테이지의 디렉터리 테이블에 대한 단일 레코드가 포함된 목록을 반환합니다.

반환

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

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

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

여기서

stage

디렉터리 테이블이 활성화된 스테이지입니다.

status

디렉터리 테이블의 일관성 상태입니다. 디렉터리 테이블이 스테이지에 복제된 콘텐츠와 완전히 일치하는 경우 CONSISTENT 이고, 그렇지 않으면 INCONSISTENT 입니다. INCONSISTENT 상태는 Snowflake가 일관성을 확인할 수 없으며 디렉터리 테이블에 스테이지에 존재하는 일부 파일에 대한 정보가 누락되었을 수 있음을 의미합니다.

사용법 노트

  • 이 함수를 호출하려면 일관성 상태를 검색하려는 스테이지에 대해 READ 권한을 부여하거나 상속하는 역할을 사용해야 합니다.

  • 일관성 상태를 INCONSISTENT 에서 CONSISTENT 로 업데이트하려면 ALTER STAGE … REFRESH 명령을 사용하여 전체 새로 고침을 수행하십시오.

다음 예제에서는 계정의 스테이지에 대한 일관성 상태 레코드의 목록을 검색합니다.

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS();
Copy

출력:

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

다음 예제에서는 stage1 이라는 스테이지에 대한 일관성 상태 레코드를 검색합니다.

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS('stage1');
Copy

출력:

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