SYSTEM$GET_DIRECTORY_TABLE_STATUS
SYSTEM$GET_DIRECTORY_TABLE_STATUS
계정의 스테이지에 대한 디렉터리 테이블(directory table) 일관성 상태를 포함하는 레코드 목록을 반환해요. 일관성 상태는 복제된 스테이지의 디렉터리 테이블이 스테이지의 모든 복제된 파일에 대한 정보를 가지고 있는지(일관성이 있는지)를 나타내요.
본문
참고 항목: 스테이지, 파이프, 로드 기록 복제, 디렉터리 테이블
구문 (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"
}
]
더 알아보기
- Snowflake 시스템 정보 함수 — 관련 시스템 함수 전체 목록