CREATE CATALOG INTEGRATION(AWS Glue)¶
계정에 새로운 카탈로그 통합 을 만들거나 AWS Glue를 카탈로그로 사용하는 Apache Iceberg™ 테이블 에 대한 기존 카탈로그 통합을 교체합니다.
중요
AWS Glue의 카탈로그 통합을 생성할 때 Snowflake와 Glue Data Catalog 간의 신뢰 관계를 설정하기 위한 추가 단계를 완료해야 합니다. 자세한 내용은 AWS Glue의 카탈로그 통합 구성하기 섹션을 참조하십시오.
- 참고 항목:
ALTER CATALOG INTEGRATION , DROP CATALOG INTEGRATION , SHOW CATALOG INTEGRATIONS, DESCRIBE CATALOG INTEGRATION
구문¶
CREATE [ OR REPLACE ] CATALOG INTEGRATION [IF NOT EXISTS]
<name>
CATALOG_SOURCE = GLUE
TABLE_FORMAT = ICEBERG
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>'
ENABLED = { TRUE | FALSE }
[ REFRESH_INTERVAL_SECONDS = <value> ]
[ COMMENT = '<string_literal>' ]
필수 매개 변수¶
name
카탈로그 통합에 대한 식별자(이름)를 지정하는 문자열로, 계정에서 고유해야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
CATALOG_SOURCE = GLUE
통합이 AWS Glue에 대한 것임을 지정합니다.
TABLE_FORMAT = ICEBERG
Glue 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를 지정합니다.
CATALOG_NAMESPACE = 'catalog-namespace'
AWS Glue Data Catalog 네임스페이스(예:
my_glue_database
)를 지정합니다. 이는 이 카탈로그 통합과 연결하는 모든 Iceberg 테이블의 기본 네임스페이스입니다. 테이블을 생성할 때 테이블 수준에서 네임스페이스를 지정하여 이 값을 재정의할 수 있습니다.ENABLED = { TRUE | FALSE }
Iceberg 테이블에 카탈로그 통합을 사용할 수 있는지 여부를 지정합니다.
TRUE
로 지정하면 사용자가 이 통합을 참조하는 새 Iceberg 테이블을 만들 수 있습니다. 이 통합을 참조하는 기존 Iceberg 테이블은 정상적으로 작동합니다.FALSE
로 지정하면 사용자가 이 통합을 참조하는 새 Iceberg 테이블을 만들지 못하게 됩니다. 이 통합을 참조하는 기존 Iceberg 테이블은 테이블 정의의 카탈로그에 액세스할 수 없습니다.
선택적 매개 변수¶
[ GLUE_REGION = 'AWS-region-of-the-glue-catalog' ]
AWS Glue Data Catalog의 AWS 리전을 지정합니다. Snowflake 계정이 AWS에서 호스팅되지 않는 경우 이 매개 변수의 값을 지정해야 합니다. 그렇지 않은 경우 기본 리전은 계정의 Snowflake 배포 리전입니다.
REFRESH_INTERVAL_SECONDS = value
Snowflake가 자동 새로 고침 의 메타데이터 업데이트를 위해 외부 Iceberg 카탈로그를 폴링하는 시도 사이에 대기하는 시간(초)을 지정합니다.
값: 30~86400(포함)
기본값: 30초
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 문을 사용하십시오.
하나 이상의 Apache Iceberg™ 테이블이 카탈로그 통합에 연결되어 있는 경우 카탈로그 통합을 삭제하거나 교체할 수 없습니다.
카탈로그 통합에 종속된 테이블을 보려면 SHOW ICEBERG TABLES 명령과
catalog_name
열을 필터링하는 RESULT_SCAN 을 사용한 쿼리를 사용할 수 있습니다.참고
열 식별자(
catalog_name
)는 대/소문자를 구분합니다. SHOW ICEBERG TABLES 출력에 표시되는 열 식별자를 정확하게 지정합니다.예:
SHOW ICEBERG TABLES; SELECT * FROM TABLE( RESULT_SCAN( LAST_QUERY_ID() ) ) WHERE "catalog_name" = 'my_catalog_integration_1';
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
예¶
다음 예에서는 AWS Glue 카탈로그 원본을 사용하는 카탈로그 통합을 만듭니다. Glue의 카탈로그 통합을 생성할 때 Snowflake와 Glue Data Catalog 간의 신뢰 관계를 설정하기 위한 추가 단계를 완료해야 합니다. 자세한 내용은 AWS Glue의 카탈로그 통합 구성하기 섹션을 참조하십시오.
CREATE CATALOG INTEGRATION glueCatalogInt CATALOG_SOURCE = GLUE CATALOG_NAMESPACE = 'myNamespace' TABLE_FORMAT = ICEBERG GLUE_AWS_ROLE_ARN = 'arn:aws:iam::123456789012:role/myGlueRole' GLUE_CATALOG_ID = '123456789012' GLUE_REGION = 'us-east-2' ENABLED = TRUE;