ALTER ICEBERG TABLE ... CONVERT TO MANAGED

外部Icebergカタログを使用する Apache Iceberg™テーブル を、Snowflakeをカタログとして使用するテーブル(Snowflake管理Icebergテーブル)に変換します。

変換されたテーブルは、読み取りと書き込みの両方の操作をサポートし、Snowflakeはコンパクションなどのテーブルのすべてのライフサイクルメンテナンスを処理します。詳細については、 テーブル変換前と変換後 をご参照ください。

こちらもご参照ください。

CREATE ICEBERG TABLEDROP ICEBERG TABLESHOW ICEBERG TABLESDESCRIBE 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が管理していないテーブルをIcebergカタログとしてSnowflakeを使用するテーブルに変換します。

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