CREATE CATALOG INTEGRATION

참고

카탈로그 통합은 외부 카탈로그를 사용하거나 오브젝트 저장소의 원본 파일에서 읽기 전용 Iceberg 테이블을 생성하려는 경우에만 필요합니다. Snowflake를 Iceberg 카탈로그로 사용하는 Iceberg 테이블을 생성하는 데는 카탈로그 통합이 필요하지 않습니다. Snowflake를 카탈로그로 사용하려면 CREATE ICEBERG TABLE 명령에서 CATALOG 매개 변수를 SNOWFLAKE 로 설정하십시오.

계정의 Iceberg 테이블 에 대한 새 카탈로그 통합 을 생성하거나 기존 카탈로그 통합을 대체합니다.

참고 항목:

DROP CATALOG INTEGRATION , SHOW CATALOG INTEGRATIONS, DESCRIBE CATALOG INTEGRATION

구문

CREATE [ OR REPLACE ] CATALOG INTEGRATION [IF NOT EXISTS]
  <name>
  CATALOG_SOURCE = { GLUE | OBJECT_STORE }
  TABLE_FORMAT = { ICEBERG }
  [ catalogParams ]
  ENABLED = { TRUE | FALSE }
  [ COMMENT = '{string_literal}' ]
Copy

여기서

catalogParams (for AWS Glue)::=
  GLUE_AWS_ROLE_ARN = '<arn-for-AWS-role-to-assume>'
  GLUE_CATALOG_ID = '<glue-catalog-id>'
  [ GLUE_REGION = '<AWS-region-of-the-glue-catalog>' ]
  CATALOG_NAMESPACE = '<catalog-namespace>'
Copy

필수 매개 변수

name

카탈로그 통합에 대한 식별자(이름)를 지정하는 문자열로, 계정에서 고유해야 합니다.

또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

CATALOG_SOURCE = { GLUE | OBJECT_STORE }

카탈로그 원본의 유형을 지정합니다.

AWS Glue

GLUE: Snowflake와 AWS Glue 간의 통합을 생성합니다.

오브젝트 저장소의 Iceberg 메타데이터

OBJECT_STORE: 외부 볼륨 과 연결하는 외부 클라우드 저장소 위치에 Iceberg 메타데이터 파일의 통합을 생성합니다.

TABLE_FORMAT = { ICEBERG }

카탈로그에서 제공하는 테이블 형식을 지정합니다.

ICEBERG: 외부 클라우드 저장소 위치의 메타데이터에서 Glue Iceberg 테이블 또는 Iceberg 테이블을 지정합니다.

ENABLED = { TRUE | FALSE }

Iceberg 테이블에 카탈로그 통합을 사용할 수 있는지 여부를 지정합니다.

  • TRUE 로 지정하면 사용자가 이 통합을 참조하는 새 Iceberg 테이블을 만들 수 있습니다. 이 통합을 참조하는 기존 Iceberg 테이블은 정상적으로 작동합니다.

  • FALSE 로 지정하면 사용자가 이 통합을 참조하는 새 Iceberg 테이블을 만들지 못하게 됩니다. 이 통합을 참조하는 기존 Iceberg 테이블은 테이블 정의의 카탈로그에 액세스할 수 없습니다.

카탈로그 매개 변수(catalogParams)

AWS Glue

중요

AWS Glue의 카탈로그 통합을 생성할 때 Snowflake와 Glue Data Catalog 간의 신뢰 관계를 설정하기 위한 추가 단계를 완료해야 합니다. 자세한 내용은 Iceberg 테이블의 카탈로그 통합 구성하기 섹션을 참조하십시오.

GLUE_AWS_ROLE_ARN = 'arn-for-AWS-role-to-assume'

맡을 AWS Identity and Access Management(IAM) 역할의 Amazon Resource Name(ARN)을 지정합니다.

GLUE_CATALOG_ID = 'glue-catalog-id'

AWS 계정의 ID를 지정합니다.

[ GLUE_REGION = 'AWS-region-of-the-glue-catalog' ]

AWS Glue Data Catalog의 AWS 리전을 지정합니다. Snowflake 계정이 AWS에서 호스팅되지 않는 경우 이 매개 변수의 값을 지정해야 합니다. 그렇지 않은 경우 기본 리전은 계정의 Snowflake 배포 리전입니다.

CATALOG_NAMESPACE = 'catalog-namespace'

AWS Glue Data Catalog 네임스페이스(예: my_glue_database)를 지정합니다. 이는 이 카탈로그 통합과 연결하는 모든 Iceberg 테이블의 기본 네임스페이스입니다. 테이블을 생성할 때 테이블 수준에서 네임스페이스를 지정하여 이 값을 재정의할 수 있습니다.

선택적 매개 변수

COMMENT = 'string_literal'

통합에 대한 설명을 지정하는 문자열(리터럴)입니다.

기본값: 값 없음

액세스 제어 요구 사항

이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

참고

CREATE INTEGRATION

계정

Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

사용법 노트

  • 기존 카탈로그 통합은 수정할 수 없으며, 대신 CREATE OR REPLACE CATALOG INTEGRATION 문을 사용하십시오.

  • 메타데이터 관련:

    주의

    고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

  • CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.

AWS Glue

다음 예에서는 AWS Glue 카탈로그 원본을 사용하는 카탈로그 통합을 만듭니다. Glue의 카탈로그 통합을 생성할 때 Snowflake와 Glue Data Catalog 간의 신뢰 관계를 설정하기 위한 추가 단계를 완료해야 합니다. 자세한 내용은 Iceberg 테이블의 카탈로그 통합 구성하기 섹션을 참조하십시오.

CREATE CATALOG INTEGRATION glueCatalogInt
  CATALOG_SOURCE=GLUE
  CATALOG_NAMESPACE='my.catalogdb'
  TABLE_FORMAT=ICEBERG
  GLUE_AWS_ROLE_ARN='<arn-for-aws-role-to-assume>'
  GLUE_CATALOG_ID='<catalog-id>'
  GLUE_REGION='<optional-aws-region-of-the-glue-catalog>'
  ENABLED=TRUE;
Copy

오브젝트 저장소의 Iceberg 메타데이터

다음 예에서는 외부 클라우드 저장소에서 Iceberg 메타데이터를 사용하는 통합을 생성합니다. OBJECT_STORE는 외부 볼륨 과 연결하는 오브젝트 저장소에 해당합니다.

CREATE CATALOG INTEGRATION myCatalogInt
  CATALOG_SOURCE=OBJECT_STORE
  TABLE_FORMAT=ICEBERG
  ENABLED=TRUE;
Copy