Iceberg V1 テーブルを V2 にアップグレードする

既存のバージョン 1(V1)の Apache Iceberg テーブルがある場合は、Apache Iceberg REST カタログ エンドポイントで使用する前に、クエリエンジンを使用してアップグレードする必要があります。詳細については、テーブルを変更するをご覧ください。

始める前に

  1. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。

  2. BigLake API がまだ有効になっていない場合は、有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。

    API の有効化

  3. Apache Iceberg REST カタログ エンドポイントを使用して、Lakehouse ランタイム カタログを設定します。

必要なロール

テーブルのアップグレードに必要な権限を取得するには、プロジェクトとストレージ バケットに対する次の IAM ロールを付与するよう管理者に依頼してください。

  • 認証情報ベンディング モードでテーブルをアップグレードする: BigLake 編集者(roles/biglake.editor) - プロジェクト
  • 認証情報ベンディング モード以外でのテーブルのアップグレード:
    • BigLake 編集者(roles/biglake.editor)- プロジェクト
    • ストレージ オブジェクト ユーザー(roles/storage.objectUser) - Cloud Storage バケット

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

テーブルをアップグレードする

Iceberg V1 テーブルを V2 にアップグレードするには、クエリエンジンで次のコマンドを実行します。

Spark

ALTER TABLE CATALOG_NAME.SCHEMA_NAME.TABLE_NAME SET TBLPROPERTIES ('format-version'='2');

次のように置き換えます。

  • CATALOG_NAME: カタログの名前。
  • SCHEMA_NAME: スキーマの名前。
  • TABLE_NAME: テーブルの名前。

次のステップ