디렉터리 테이블 소개¶
이 항목에서는 주요 개념을 소개하고 보조 정보와 디렉터리 테이블 사용 지침에 대한 링크를 제공합니다.
이 항목의 내용:
디렉터리 테이블이란 무엇일까요?¶
디렉터리 테이블은 별도의 데이터베이스 오브젝트가 아니라, 스테이지에 계층화된 암시적 오브젝트입니다. 외부(외부 클라우드 저장소) 및 내부(즉, Snowflake) 스테이지가 모두 디렉터리 테이블을 지원합니다. 디렉터리 테이블에는 자체적으로 할당할 수 있는 권한이 없습니다. 스테이지가 생성될 때(CREATE STAGE 사용) 또는 나중에(ALTER STAGE 사용) 디렉터리 테이블을 스테이지에 명시적으로 추가할 수 있습니다.
개념적으로, 디렉터리 테이블은 데이터 파일에 대한 파일 수준 메타데이터를 스테이지에 저장한다는 점에서 외부 테이블과 유사합니다. 디렉터리 테이블을 쿼리하여 Snowflake에 호스팅된 파일 URL 을 스테이지의 각 파일로 불러옵니다. 파일 URL을 통해 지정된 파일에 장기간 액세스할 수 있습니다. 즉, 파일 URL이 만료되지 않습니다. BUILD_STAGE_FILE_URL 함수를 호출하면 동일한 파일 URL이 반환됩니다.
디렉터리 테이블 메타데이터 자동 새로 고치기¶
클라우드 저장소 서비스에 대해 이벤트 알림 서비스를 사용하여 디렉터리 테이블에 대한 메타데이터를 자동으로 새로 고칠 수 있습니다. 새로 고침 작업은 외부 스테이지 및 경로에 있는 최신 관련 파일 세트과 메타데이터를 동기화합니다. 즉,
경로의 새 파일이 테이블 메타데이터에 추가됩니다.
경로의 파일에 대한 변경 사항은 테이블 메타데이터에서 업데이트됩니다.
경로에 더 이상 없는 파일은 테이블 메타데이터에서 제거됩니다.
자세한 내용은 자동화된 디렉터리 테이블 메타데이터 새로 고침 섹션을 참조하십시오.
디렉터리 테이블에 대한 청구하기¶
디렉터리 테이블 메타데이터의 자동 새로 고침에 대한 이벤트 알림을 관리하는 오버헤드가 요금에 포함됩니다. 이 오버헤드는 디렉터리 테이블을 포함하는 스테이지에 대해 클라우드 저장소에 추가된 파일 수를 기준으로 증가합니다. Snowpipe는 자동 디렉터리 테이블 새로 고침을 위한 이벤트 알림에 사용되므로 이 간접비는 청구서에 Snowpipe 요금으로 나타납니다. PIPE_USAGE_HISTORY 함수를 쿼리하거나 Account Usage PIPE_USAGE_HISTORY 뷰 를 검사하여 이 요금을 추정할 수 있습니다.
또한 디렉터리 테이블 메타데이터(ALTER STAGE … REFRESH 사용)를 수동으로 새로 고치는 데 약간의 유지 관리 오버헤드가 부과됩니다. 이 오버헤드는 Snowflake의 모든 유사한 활동과 마찬가지로 표준 클라우드 서비스 청구 모델 에 따라 청구됩니다.
ACCOUNTADMIN 역할의 사용자 또는 전역 MONITOR USAGE 권한이 있는 역할은 AUTO_REFRESH_REGISTRATION_HISTORY 테이블 함수를 쿼리하여 지정된 오브젝트의 메타데이터에 등록된 데이터 파일의 기록과 이러한 작업에 대해 청구된 크레딧을 검색할 수 있습니다.
디렉터리 테이블에 대한 액세스 제어 요구 사항¶
다음 표에는 디렉터리 테이블 작업 시 공통 SQL 명령을 실행하는 데 필요한 스테이지 권한 이 요약되어 있습니다.
작업 |
오브젝트 타입 |
필요한 권한 |
---|---|---|
SELECT FROM DIRECTORY 문을 사용하여 디렉터리 테이블에서 파일 URL을 검색합니다. |
스테이지 |
스테이지 유형에 따라 다음 중 하나입니다.
|
PUT 명령을 사용하여 데이터를 업로드합니다. |
스테이지(내부 전용) |
스테이지에 대한 WRITE 권한이 있는 계정 역할 또는 데이터베이스 역할. |
REMOVE 명령을 사용하여 파일을 제거합니다. |
스테이지 |
스테이지 유형에 따라 다음 중 하나입니다.
|
ALTER STAGE 명령을 사용하여 메타데이터를 새로 고칩니다. |
스테이지 |
스테이지에 대한 OWNERSHIP 권한이 있는 계정 역할 또는 데이터베이스 역할. |
Information Schema¶
Snowflake Snowflake Information Schema 에는 디렉터리 테이블에 대한 정보를 검색하기 위해 쿼리할 수 있는 테이블 함수가 포함되어 있습니다.
테이블 함수¶
- AUTO_REFRESH_REGISTRATION_HISTORY
지정된 오브젝트의 메타데이터에 등록된 데이터 파일의 내역과 이러한 작업에 대해 청구된 크레딧을 검색합니다.
- STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY
메타데이터를 새로 고칠 때 발견된 오류를 포함하여 디렉터리 테이블의 메타데이터 기록에 대한 정보를 검색합니다.