ALTER ICEBERG TABLE … CONVERT TO MANAGED

외부 Iceberg 카탈로그를 사용하는 Apache Iceberg™ 테이블 을 Snowflake를 카탈로그로 사용하는 테이블(Snowflake 관리 Iceberg 테이블)로 변환합니다.

변환된 테이블은 읽기 및 쓰기 작업을 모두 지원하며 Snowflake는 테이블에 대해 압축과 같은 모든 수명 주기 유지 관리를 처리합니다. 자세한 내용은 테이블 변환 전과 후 섹션을 참조하십시오.

참고 항목:

CREATE ICEBERG TABLE , DROP ICEBERG TABLE , SHOW ICEBERG TABLES , DESCRIBE ICEBERG TABLE

구문

ALTER ICEBERG TABLE [ IF EXISTS ] <table_name> CONVERT TO MANAGED
  [ BASE_LOCATION = '<directory_for_table_files>' ]
  [ STORAGE_SERIALIZATION_POLICY = { COMPATIBLE | OPTIMIZED } ]
Copy

매개 변수

table_name

변환할 테이블의 식별자입니다.

식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

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

[ BASE_LOCATION = 'directory_for_table_files' ]

Snowflake가 테이블에 대한 데이터 및 메타데이터 파일을 쓸 수 있는 디렉터리의 경로입니다. 테이블의 EXTERNAL_VOLUME 위치에서 상대 경로를 지정합니다. 자세한 내용은 데이터 및 메타데이터 디렉터리 섹션을 참조하십시오.

원래 CREATE ICEBERG TABLE 문이 BASE_LOCATION 을 허용하거나 포함하지 않은 경우 이 속성의 값을 지정해야 합니다.

테이블을 변환한 후에는 이 디렉터리를 변경할 수 없습니다.

STORAGE_SERIALIZATION_POLICY = { COMPATIBLE | OPTIMIZED }

테이블에 대한 저장소 직렬화 정책을 지정합니다. 변환 중에 지정하지 않으면 테이블은 스키마, 데이터베이스 또는 계정 수준에서 설정된 값을 상속합니다. 어느 수준에도 값이 지정되지 않으면 테이블은 기본값을 사용합니다.

테이블을 변환한 후에는 이 매개 변수의 값을 변경할 수 없습니다.

  • COMPATIBLE: Snowflake는 서드 파티 컴퓨팅 엔진과의 상호 운용성을 보장하는 인코딩 및 압축을 수행합니다.

  • OPTIMIZED: Snowflake는 Snowflake 내에서 최상의 테이블 성능을 보장하는 인코딩 및 압축을 수행합니다.

기본값: OPTIMIZED

액세스 제어 요구 사항

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

권한

오브젝트

참고

OWNERSHIP

Iceberg 테이블

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

USAGE

외부 볼륨

USAGE

카탈로그 통합

스키마의 모든 오브젝트에 대해 작업하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한도 필요합니다.

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

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

사용법 노트

  • 테이블 소유자(즉, 테이블에 대한 OWNERSHIP 권한을 가진 역할) 이상만이 명령을 실행할 수 있습니다.

  • 메타데이터 관련:

    주의

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

다음 예에서는 ALTER ICEBERG TABLE … CONVERT TO MANAGED 문을 사용하여 Snowflake에서 관리하지 않는 테이블을 Snowflake를 Iceberg 카탈로그로 사용하는 테이블로 변환합니다.

ALTER ICEBERG TABLE myTable CONVERT TO MANAGED
  BASE_LOCATION = 'my/relative/path/from/external_volume';
Copy