카탈로그 통합 구성하기¶
카탈로그 통합은 다음 시나리오를 위해 테이블 메타데이터가 구성되는 방식에 대한 정보를 저장하는 명명된 계정 수준의 Snowflake 오브젝트입니다.
Snowflake를 Iceberg 카탈로그 로 사용하지 않는 경우. 예를 들어, 테이블이 AWS Glue에서 관리되는 경우 카탈로그 통합이 필요합니다.
Snowflake Open Catalog 를 다음과 통합하려는 경우:
Snowflake를 사용하여 Snowflake Open Catalog 의 Iceberg 테이블을 쿼리합니다.
서드 파티 컴퓨팅 엔진이 테이블을 쿼리할 수 있도록 Snowflake가 관리하는 Iceberg 테이블을 Snowflake Open Catalog 와 동기화합니다.
단일 카탈로그 통합은 동일한 외부 카탈로그를 사용하는 하나 이상의 Iceberg 테이블을 지원할 수 있습니다.
다음 시나리오의 경우 Snowflake에서 Apache Iceberg™ 테이블을 생성하려면 카탈로그 통합을 지정해야 합니다.
외부 Iceberg 카탈로그를 사용합니다.
오브젝트 저장소의 파일에서 테이블을 생성합니다.
Snowflake Open Catalog 와 통합합니다.
Iceberg REST 카탈로그를 사용합니다.
카탈로그 통합 만들기¶
하나 이상의 Iceberg 테이블과 함께 사용할 카탈로그 통합을 만들고 구성할 수 있습니다.
구체적인 지침은 다음 항목을 참조하십시오.
계정, 데이터베이스 또는 스키마 수준에서 기본 카탈로그 설정¶
Iceberg 테이블의 기본값으로 사용할 카탈로그를 정의하려면 다음 수준에서 CATALOG 매개 변수를 설정하면 됩니다.
- 계정:
계정 관리자는 ALTER ACCOUNT 명령을 사용해 계정에 대한 매개 변수를 설정할 수 있습니다. 계정에 대해 값이 설정된 경우 외부 카탈로그를 사용하는 계정에서 생성된 모든 Iceberg 테이블은 기본적으로 이 카탈로그 통합을 사용합니다.
- 오브젝트:
사용자는 적절한 CREATE <오브젝트> 또는 ALTER <오브젝트> 명령을 실행하여 데이터베이스 또는 스키마 수준에서 CATALOG 매개 변수 값을 재정의할 수 있습니다. 가장 낮은 범위가 지정된 선언이 사용됩니다(스키마 > 데이터베이스 > 계정).
적절한 ALTER <object_type> 명령을 사용하여 오브젝트를 수정하는 데 필요한 최소 권한 외에도, 역할에는 카탈로그 통합에 대한 USAGE 권한이 있어야 합니다.
참고
매개 변수 CATALOG의 변경 사항은 변경 이후 생성된 테이블에만 적용됩니다. 기존 테이블은 생성 당시 지정된 카탈로그 통합을 계속 사용합니다.
예¶
다음 문은 my_database_1
이라는 데이터베이스에 대한 카탈로그 통합(shared_catalog_integration
)을 설정합니다.
ALTER DATABASE my_database_1
SET CATALOG = 'shared_catalog_integration';
데이터베이스 수준에서 카탈로그 통합을 설정한 후 카탈로그 통합을 지정하지 않고도 해당 데이터베이스에 Iceberg 테이블을 생성할 수 있습니다. 다음 문은 데이터베이스에 대해 설정된 기본 카탈로그 통합(shared_catalog_integration
)을 사용하는 my_database_1
의 오브젝트 저장소에 있는 메타데이터에서 Iceberg 테이블을 생성합니다.
CREATE ICEBERG TABLE my_iceberg_table
EXTERNAL_VOLUME='my_external_volume'
METADATA_FILE_PATH='path/to/metadata/v1.metadata.json';