Lakehouse Iceberg REST カタログ テーブルを管理する

Lakehouse for Apache Iceberg は、Cloud Storage に保存されている Lakehouse Iceberg REST カタログ テーブルの作成、管理、クエリをサポートしています。

Lakehouse ランタイム カタログで管理されるこれらのテーブルは、BigQuery と接続されたオープンソース エンジンで読み取ることができます。書き込みオペレーションは、テーブルを最初に作成した特定のエンジンに制限されたままになります。クエリエンジン統合に加えて、Lakehouse ランタイム カタログはオープンソースの Iceberg REST Catalog API 仕様を実装しているため、互換性のある REST クライアントがテーブル リソースと直接やり取りできます。

始める前に

さまざまなタイプのテーブルと、それらを使用した場合の影響については、テーブルの概要をご覧ください。

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

  2. BigLake API を有効にします。

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

    API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。

    API の有効化

必要なロール

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

  • テーブルの作成と削除:
    • BigLake 管理者(roles/biglake.admin)- プロジェクト
    • ストレージ管理者(roles/storage.admin) - Cloud Storage バケット
  • 認証情報ベンディング モードでテーブルデータを読み取る: BigLake 閲覧者(roles/biglake.viewer)- プロジェクト
  • 認証情報ベンディング モードでテーブルデータを書き込む: BigLake 編集者(roles/biglake.editor)- プロジェクト
  • 認証情報ベンディング モード以外でテーブルデータを読み取る:
    • BigLake 閲覧者(roles/biglake.viewer)- プロジェクト
    • Storage オブジェクト閲覧者(roles/storage.objectViewer) - Cloud Storage バケット
  • 認証情報ベンディング モード以外でテーブルデータを書き込む:
    • BigLake 編集者(roles/biglake.editor)- プロジェクト
    • ストレージ オブジェクト ユーザー(roles/storage.objectUser) - Cloud Storage バケット

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

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

管理アクション

Lakehouse Iceberg REST Catalog テーブルでは、次の管理アクションを実行できます。

  • テーブルを作成する: Google Cloud コンソール、Spark、Trino、または Iceberg REST カタログ API(CreateIcebergTable)を使用して、カタログ名前空間内に Apache Iceberg テーブルを作成します。
  • テーブルを一覧表示する: Google Cloud コンソール、Spark、Trino、または Iceberg REST Catalog API(ListIcebergTableIdentifiers)を使用して、名前空間内のテーブル ID を表示します。
  • テーブルの詳細を取得する: Google Cloud コンソール、Spark、Trino、Iceberg REST カタログ API(GetIcebergTableLoadIcebergTableCredentials)を使用して、テーブル スキーマ、プロパティ、認証情報を検査します。
  • データを挿入する: Spark または Trino を使用して、Iceberg テーブルにデータ行を追加します。
  • テーブルにクエリを実行する: 4 部構成のテーブル名を使用して、Spark、Trino、BigQuery から Iceberg テーブルに対してクエリを実行します。
  • テーブルを変更する: Google Cloud コンソール、Spark、Trino、または Iceberg REST カタログ API(UpdateIcebergTable)を使用して、テーブル スキーマを進化させ、メタデータ プロパティを更新します。
  • テーブルを削除する: Google Cloud コンソール、Spark、Trino、または Iceberg REST カタログ API(DeleteIcebergTable)を使用して、基盤となるストレージ ファイルを削除せずに、カタログからテーブル登録を削除します。

次のステップ