아이스버그 테이블 관리형

아이스버그 테이블 관리형

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

변환된 테이블은 읽기와 쓰기 작업을 모두 지원하며, Snowflake가 압축(compaction)과 같은 모든 수명 주기 유지 관리를 처리합니다. 자세한 내용은 을(를) 참조하세요.

참조:

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

출처: 문서

본문


구문

ALTER ICEBERG TABLE [ IF EXISTS ]  CONVERT TO MANAGED
  [ BASE_LOCATION = '' ]
  [ STORAGE_SERIALIZATION_POLICY = { COMPATIBLE | OPTIMIZED } ]

매개변수

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

액세스 제어 요구 사항

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

권한 개체 참고
OWNERSHIP Iceberg table %ac-ownership%
USAGE External volume
USAGE Catalog integration

스키마의 개체에 대해 작업을 수행하려면 상위 데이터베이스에 대한 권한이 하나 이상, 상위 스키마에 대한 권한이 하나 이상 필요합니다.

지정된 권한 집합으로 사용자 지정 역할을 만드는 방법은 을(를) 참조하세요.

보안 개체에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반적인 정보는 액세스 제어 개요를 참조하세요.

사용 참고 사항

  • 테이블 소유자(즉, 테이블에 대한 OWNERSHIP 권한이 있는 역할) 이상만 이 명령을 실행할 수 있습니다.
  • 카탈로그 연결 데이터베이스의 테이블 변환은 지원되지 않습니다.
  • 메타데이터 관련:

예제

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

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

더 알아보기 (Learn more)