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