Snowflake에 Snowflake Open Catalog 가 있는 Apache Iceberg™ 테이블을 사용한 문제 해결¶
다음 시나리오는 Snowflake에서 Snowflake Open Catalog 와 함께 Apache Iceberg™ 테이블을 사용할 때 발생할 수 있는 문제를 해결하는 데 도움이 될 수 있습니다.
Open Catalog에 대한 카탈로그 통합을 생성할 수 없습니다.¶
이 섹션에서는 Open Catalog에 대한 카탈로그 통합을 생성할 때 발생하는 문제를 해결하는 방법을 설명합니다.
문제를 해결하려면 카탈로그 통합 생성에 실패했을 때 SQL 출력에서 받은 오류 메시지를 식별합니다.
오류 |
|
|---|---|
원인 |
카탈로그 통합에서 |
해결책 |
카탈로그 열기에서 외부 카탈로그의 이름과 정확히 일치하도록 중요
|
오류 |
|
|---|---|
원인 |
카탈로그 통합에서 지정한 OAuth 토큰이 유효하지 않습니다. |
해결책 |
카탈로그 통합에서 |
Snowflake 관리 테이블을 생성할 수 없습니다.¶
이 섹션에서는 Snowflake 관리 테이블을 생성할 때 발생하는 문제를 해결하는 방법을 설명합니다.
문제를 해결하려면 테이블 생성에 실패했을 때 SQL 출력에서 받은 오류 메시지를 식별합니다.
오류 |
|
|---|---|
원인 |
연결할 외부 카탈로그의 카탈로그 역할에는 Open Catalog에 알림을 보내는 데 필요한 권한이 없습니다. |
해결책 |
외부 카탈로그에 대한 카탈로그 역할에 다음 모든 권한을 부여하여 카탈로그 역할을 업데이트합니다.
카탈로그 역할을 업데이트하는 위치는 부여된 권한이 카탈로그, 네임스페이스 또는 테이블 수준에서 적용되는지에 따라 달라집니다. 카탈로그 역할에 적용되는 프로시저를 참조하십시오. |
오류 |
|
|---|---|
원인 |
외부 카탈로그의 AWS IAM 사용자는 S3에 액세스할 수 있는 권한이 있는 역할을 맡을 수 없습니다. |
해결책 |
AWS 에서 정책 문서를 수정하여 Open Catalog 계정의 IAM 사용자가 S3 버킷에 액세스할 수 있는 권한을 가진 역할을 맡을 수 있도록 합니다. 정책 문서를 수정하려면 AWS에서 IAM 역할을 업데이트해야 합니다. 자세한 내용은 Snowflake Open Catalog 계정에 대한 AWS IAM 사용자 검색 섹션을 참조한 후 IAM 사용자에게 버킷 오브젝트에 액세스할 수 있는 권한을 부여 섹션을 참조하십시오. 정책 문서에는 외부 볼륨과 외부 카탈로그 모두에 대해 IAM 사용자 ARN 및 외부 ID 를 오픈 카탈로그에 포함해야 한다는 점을 기억하십시오. 다음 정책 문서 예시에서 다음 값을 확인합니다.
|
오류 |
|
|---|---|
원인 |
Snowflake에서 관리하는 테이블을 Open Catalog의 내부 카탈로그와 동기화하려고 합니다. Snowflake로 관리되는 테이블은 Open Catalog에서만 외부 카탈로그에 동기화할 수 있습니다. |
해결책 |
기존 내부 카탈로그를 외부 카탈로그로 업데이트할 수 없으므로 새 외부 카탈로그를 생성해야 합니다.
|
오류 |
|
|---|---|
원인 |
생성할 테이블의 메타데이터 파일 경로가 외부 클라우드 공급자의 허용 위치 목록에 포함되어 있지 않습니다. 결과적으로 Open Catalog는 테이블의 메타데이터 파일에 액세스할 수 없습니다. |
해결책 |
메타데이터 파일의 위치가 Open Catalog에서 서비스 관리자가 생성한 카탈로그의 기본 위치 파일 경로에 있는지, 또는 해당되는 경우 추가로 허용되는 위치에 있는지 확인합니다. 허용되는 위치의 목록을 확인하려면 Open Catalog에서 카탈로그를 선택하고 위치 필드를 참조하십시오. |
CATALOG_SYNC 매개 변수를 지정할 때는 Iceberg 테이블을 변경할 수 없습니다.¶
이 섹션에서는 CATALOG_SYNC 매개 변수 변경 문제를 해결하는 방법을 설명합니다.
문제를 해결하려면 테이블 변경에 실패했을 때 SQL 출력에서 받은 오류 메시지를 식별합니다.
오류 |
|
|---|---|
원인 |
연결할 외부 카탈로그의 카탈로그 역할에는 Open Catalog에 알림을 보내는 데 필요한 권한이 없습니다. |
해결책 |
외부 카탈로그에 대한 카탈로그 역할에 다음 모든 권한을 부여합니다.
카탈로그 역할을 업데이트하는 위치는 해당 권한이 카탈로그, 네임스페이스 또는 테이블 수준에서 적용되는지에 따라 달라집니다. 카탈로그 역할에 적용되는 프로시저를 참조하십시오. |
오류 |
|
|---|---|
원인 |
외부 카탈로그의 AWS IAM 사용자에게는 S3 버킷 오브젝트에 액세스할 수 있는 권한이 없습니다. |
해결책 |
AWS에서 정책 문서를 수정하여 Open Catalog 계정의 IAM 사용자가 S3 버킷의 오브젝트에 액세스할 수 있도록 허용합니다. 정책 문서를 수정하려면 AWS에서 IAM 역할을 업데이트해야 합니다. 자세한 내용은 Polaris Open Catalog 계정에 대한 AWS IAM 사용자 검색 섹션을 참조한 후 IAM 사용자에게 버킷 오브젝트에 액세스할 수 있는 권한을 부여 섹션을 참조하십시오. 정책 문서에는 외부 볼륨과 외부 카탈로그 모두에 대해 IAM 사용자 ARN 및 외부 ID 를 오픈 카탈로그에 포함해야 한다는 점을 기억하십시오. 다음 정책 문서 예시에서 다음 값을 확인합니다.
|
오류 |
|
|---|---|
원인 |
Open Catalog의 내부 카탈로그에 대한 카탈로그 통합과 Snowflake에서 관리하는 Iceberg 테이블을 동기화하려고 합니다. Snowflake에서 관리하는 Iceberg 테이블은 Open Catalog의 외부 카탈로그에만 동기화할 수 있습니다. |
해결책 |
기존 내부 카탈로그를 외부 카탈로그로 업데이트할 수 없으므로 새 외부 카탈로그를 생성해야 합니다.
|
오류 |
|
|---|---|
원인 |
생성할 테이블의 메타데이터 파일 경로가 외부 클라우드 공급자의 허용 위치 목록에 포함되어 있지 않습니다. 결과적으로 Open Catalog는 테이블의 메타데이터 파일에 액세스할 수 없습니다. |
해결책 |
메타데이터 파일의 위치가 Open Catalog에서 서비스 관리자가 생성한 카탈로그의 기본 위치 파일 경로에 있는지, 또는 해당되는 경우 추가로 허용되는 위치에 있는지 확인합니다. 허용되는 위치의 목록을 확인하려면 Open Catalog에서 카탈로그를 선택하고 Locations 필드를 참조하십시오. |