S3 호환 저장소용 외부 볼륨 구성하기¶
S3 호환 스토리지에 데이터 및 메타데이터가 있는 외부 관리 Iceberg 테이블의 경우 Amazon S3 호환 스토리지 위치와 연결된 외부 볼륨을 구성할 수 있습니다.
S3 호환 저장소를 사용하는 Iceberg 테이블은 리전 간 테이블 이며 다음 작업을 지원하지 않습니다.
Snowflake를 Iceberg 카탈로그로 사용 또는 테이블을 변환하여 Snowflake를 Iceberg 카탈로그로 사용하십시오.
SYSTEM$GET_ICEBERG_TABLE_INFORMATION 함수를 사용하여 최신 새로 고침된 스냅샷에 대한 정보를 검색합니다.
전제 조건¶
S3 호환 저장소를 사용하는 Iceberg 테이블을 생성하려면 S3 호환 Snowflake용 API 엔드포인트가 있어야 합니다. 자세한 내용은 S3 호환 저장소 요구 사항 섹션을 참조하십시오.
S3 호환 저장소용 외부 볼륨 만들기¶
다음 단계에서는 S3 호환 저장소에 대한 외부 볼륨을 구성하는 방법과 해당 볼륨을 사용하여 외부에서 관리되는 Iceberg 테이블을 만드는 방법을 설명합니다.
S3 호환 저장소 위치를 지정하는 외부 볼륨을 만듭니다. CREATE EXTERNAL VOLUME 명령의 S3 호환 매개 변수에 대한 자세한 내용은 명령 구문 섹션을 참조하십시오.
CREATE OR REPLACE EXTERNAL VOLUME ext_vol_s3_compat STORAGE_LOCATIONS = ( ( NAME = 'my_s3_compat_storage_location' STORAGE_PROVIDER = 'S3COMPAT' STORAGE_BASE_URL = 's3compat://mybucket/unload/mys3compatdata' CREDENTIALS = ( AWS_KEY_ID = '1a2b3c...' AWS_SECRET_KEY = '4x5y6z...' ) STORAGE_ENDPOINT = 'mystorage.com' ) ) ALLOW_WRITES = FALSE;
카탈로그 통합이 없는 경우, Iceberg 테이블에 대한 통합을 생성하십시오. S3 호환 저장소를 사용하는 Iceberg 테이블은 카탈로그 통합을 사용하는 경우에만 지원됩니다. 자세한 내용은 카탈로그 통합 만들기 섹션을 참조하십시오.
다음 예제는 오브젝트 저장소에서 Iceberg 파일에 대한 카탈로그 통합을 생성하는 예제입니다.
CREATE OR REPLACE CATALOG INTEGRATION my_iceberg_catalog_int CATALOG_SOURCE = OBJECT_STORE TABLE_FORMAT = ICEBERG ENABLED = TRUE;
외부 볼륨 및 카탈로그 통합을 사용하여 Iceberg 테이블을 만들 수 있습니다.
예:
CREATE ICEBERG TABLE my_iceberg_table EXTERNAL_VOLUME = 'ext_vol_s3_compat' CATALOG = 'my_iceberg_catalog_int' METADATA_FILE_PATH = 'path/to/metadata/v1.metadata.json';
외부 볼륨 자격 증명 업데이트하기¶
외부 볼륨의 자격 증명을 변경하거나 업데이트하려면 ALTER EXTERNAL VOLUME … UPDATE 명령을 사용할 수 있습니다. 자격 증명을 변경할 저장소 위치의 이름을 지정합니다.
ALTER EXTERNAL VOLUME ext_vol_s3_compat UPDATE
STORAGE_LOCATION = 'my_s3_compat_storage_location'
CREDENTIALS = (
AWS_KEY_ID = '4d5e6f...'
AWS_SECRET_KEY = '7g8h9i...'
);