- 카테고리:
시스템 함수 (시스템 제어)
SYSTEM$SET_CATALOG_INTEGRATION¶
외부 관리 :doc:`Apache Iceberg™ 테이블</user-guide/tables-iceberg>`과 연관된 카탈로그 통합을 대체합니다.
이 함수를 사용하여 Iceberg REST 카탈로그 통합과 함께 작동하도록 테이블을 업데이트할 수 있습니다. 이 통합은 :doc:`외부 관리 Iceberg 테이블에 대한 쓰기 지원</user-guide/tables-iceberg-externally-managed-writes>`과 같은 더 광범위한 Iceberg 기능을 지원합니다. 필요한 경우 이 함수를 사용하여 원래 Glue 카탈로그 통합으로 롤백할 수도 있습니다.
이 함수를 사용하여 하나의 :doc:`Iceberg REST 카탈로그 통합</user-guide/tables-iceberg-configure-catalog-integration-rest>`에서 테이블을 마이그레이션할 수도 있습니다.
구문¶
SYSTEM$SET_CATALOG_INTEGRATION(
'<table_name>' ,
'<new_catalog_integration_name>'
)
인자¶
'table_name'카탈로그 통합을 바꾸려는 Iceberg 테이블의 이름입니다.
'new_catalog_integration_name'주어진 :samp:`{table_name}`을 마이그레이션하려는 카탈로그 통합의 이름입니다.
반환¶
함수는 테이블에 대한 카탈로그 통합이 성공적으로 마이그레이션되었다는 상태 메시지를 반환합니다. 예를 보려면 예 를 참조하십시오.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
|---|---|
OWNERSHIP |
카탈로그 통합이 바뀌는 테이블입니다. |
USAGE |
현재 카탈로그 통합입니다. |
USAGE |
대상 카탈로그 통합입니다. |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한. 스키마에 대한 모든 권한이 부여된 역할은 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 USAGE 권한을 함께 부여받지 않더라도 해당 스키마에 대한 오브젝트를 생성할 수 있습니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
표준 Snowflake 데이터베이스에서 외부 관리 Iceberg 테이블에 대한 카탈로그 통합만 바꿀 수 있습니다. 카탈로그 연결 데이터베이스에서 Iceberg 테이블에 대한 카탈로그 통합을 바꾸거나 다른 유형의 Iceberg 테이블에 대한 카탈로그 통합을 바꿀 수 없습니다.
테이블과 연관된 현재 카탈로그 통합의 유형에 따라 대체 항목으로 사용할 수 있는 카탈로그 통합의 유형이 제한됩니다. 다음 테이블에는 한 유형의 카탈로그 통합을 다른 유형으로 바꿀 때 지원되는 전환이 나열되어 있습니다.
현재 카탈로그 통합 유형
새 카탈로그 통합 유형
참고
AWS Glue Iceberg REST
AWS Glue
AWS Glue 카탈로그 소스를 사용하는 카탈로그 통합으로 돌아갑니다.
Iceberg REST
테이블을 대체 카탈로그 통합으로 마이그레이션합니다.
다른 전환 조합은 지원되지 않습니다.
table_name및 :samp:`{new_catalog_integration_name}`은(는) 문자열 리터럴이므로 값을 작은따옴표로 묶어야 합니다.현재 및 대상 카탈로그 통합은 모두 동일한 외부 카탈로그를 가리켜야 합니다.
현재 및 대상 카탈로그 통합 모두에서 자격 증명 자동 발급을 활성화할 수 없습니다.
예¶
glue_table 이름의 Iceberg 테이블과 연관된 AWS Glue 카탈로그 통합을 glue_rest_catalog_int 이름의 AWS Glue Iceberg REST 카탈로그 통합으로 바꿉니다.
SELECT SYSTEM$SET_CATALOG_INTEGRATION('glue_table', 'glue_rest_catalog_int');
샘플 출력:
+------------------------------------------------------------------------------------------------------------------------------+
| SYSTEM$SET_CATALOG_INTEGRATION |
+------------------------------------------------------------------------------------------------------------------------------+
| Catalog integration for table GLUE_TABLE has been migrated from 'GLUE_CATALOG_INTEGRATION' to 'GLUE_REST_CATALOG_INT' |
+------------------------------------------------------------------------------------------------------------------------------+
문제 해결하기¶
함수가 실패하면 오류 응답을 반환합니다. 일반적인 오류 메시지는 다음과 같습니다.
오류 메시지 |
상황 및 해결 방법 |
|---|---|
SYSTEM$SET_CATALOG_INTEGRATION은 지원되지 않는 유형 조합으로 인해 카탈로그 통합 ‘[CURRENT_CATALOG_INTEGRATION]’에서 ‘[TARGET_CATALOG_INTEGRATION]’으로의 전환을 지원하지 않습니다. |
제공된 현재 또는 대상 카탈로그 통합이 지원되는 카탈로그 통합 유형과 일치하지 않습니다. 지원되는 유형은 사용법 노트 섹션을 참조하세요. |
SYSTEM$SET_CATALOG_INTEGRATION은 카탈로그 통합 구성이 호환되지 않아 ‘[CURRENT_CATALOG_INTEGRATION]’에서 ‘[TARGET_CATALOG_INTEGRATION]’으로 전환할 수 없습니다. |
지정된 카탈로그 통합은 지원되는 유형이지만 지원되는 전환 조합 중 하나와 일치하지 않습니다. 지원되는 전환 조합은 사용법 노트 섹션을 참조하세요. |
현재 카탈로그 통합 ‘[CATALOG_INTEGRATION]’에 자격 증명 자동 발급이 활성화된 경우 전환 수행을 지원하지 않습니다. |
제공된 카탈로그 통합에 자격 증명 자동 발급이 활성화되었습니다. 자격 증명 자동 발급이 비활성화된 카탈로그 통합을 제공하고 다시 시도하세요. |
SYSTEM$SET_CATALOG_INTEGRATION은 비관리형 Iceberg 테이블에서만 사용할 수 있습니다. |
제공된 테이블은 외부 관리형 Iceberg 테이블이 아닙니다. 외부 관리형 Iceberg 테이블을 제공하고 다시 시도하세요. |