カタログを作成

カタログ(Apache Iceberg REST カタログや Apache Hive カタログなど)を作成すると、Lakehouse ランタイム カタログ 内に管理エンドポイントが確立されます。 このエンドポイントは、基盤となる Cloud Storage ウェアハウス バケットを指し、クエリエンジンとオープンソース ワークロードがテーブルと直接やり取りできるメタデータ レイヤを提供します。

Lakehouse for Apache Iceberg のカタログを作成する場合は、ストレージ アクセスの委任にエンドユーザー認証情報または認証情報ベンダーモードを選択できます。

始める前に

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

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

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

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

    API の有効化

必要なロール

カタログの作成に必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。

  • すべて:
  • 認証情報ベンダーモードで自動プロビジョニングされた Lakehouse ランタイム カタログ サービス アカウント: Storage オブジェクト ユーザー roles/storage.objectUser) ターゲット Cloud Storage バケットに対する。カタログを作成したら、ストレージ バケットに対する Storage オブジェクト ユーザーロール(roles/storage.objectUser)を、カタログの自動プロビジョニングされた Lakehouse ランタイム カタログ サービス アカウントに明示的に付与します。

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

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

カタログを作成

カタログ エンドポイントを作成します。

コンソール

  1. コンソールで、[Lakehouse] ページを開きます。 Google Cloud

    Lakehouse に移動

  2. [**カタログを作成**] を選択します。[カタログを作成] ページが開きます。

  3. カタログタイプを選択します。

    • Apache Iceberg REST カタログを作成するには、[Iceberg REST カタログ] を選択します。
    • Apache Hive カタログを作成するには、[Hive カタログ] を選択します。
  4. [Cloud Storage バケットを選択] に、カタログで使用する Cloud Storage バケットの名前を入力します。または、[参照] を選択して、既存のバケットのリストから選択するか、バケットを作成します。 Cloud Storage バケットごとにカタログは 1 つしか作成できません。

  5. [**認証方法**] で、[**エンドユーザー認証情報**] または [**認証情報ベンダーモード**] を選択します。

    [**認証情報ベンダーモード**] を選択した場合、自動プロビジョニングされた Lakehouse ランタイム カタログ サービス アカウントには、ターゲット Cloud Storage バケットに対する明示的な [**Storage オブジェクト ユーザー**] ロール(roles/storage.objectUser)が必要です。デフォルトでは、閲覧者のみのアクセス権で作成されます。このロールがないと、ベンダーの認証情報にはストレージ書き込みを実行するのに十分なスコープがありません。

  6. [作成] を選択します。

    カタログが作成され、[カタログの詳細] ページが開きます。

  7. [認証方法] で、[バケットの権限を設定] を選択します。

  8. ダイアログで [確認] を選択します。

    これにより、カタログのサービス アカウントにストレージ バケットに対する Storage オブジェクト管理者ロールがあることが確認されます。gcloud または Terraform を使用してカタログを作成する場合は、このロールを手動で付与する必要があります。

REST

REST API を使用してカタログ管理エンドポイントを作成するには、POST リクエストを CreateIcebergCatalog エンドポイントに送信します。

POST /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs?icebergCatalogId=CATALOG_ID

リクエストの本文には、基盤となる Cloud Storage バケット ウェアハウスや認証モードなど、カタログ構成を定義する IcebergCatalog JSON ペイロードを含める必要があります。

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • CATALOG_ID: Lakehouse ランタイム カタログの ID。