BigQuery エンドポイントのカスタム Apache Iceberg カタログについて

BigQuery 用のカスタム Apache Iceberg カタログ エンドポイントは、Apache Spark や Apache Flink などのオープンソース クエリエンジンを Lakehouse ランタイム カタログに接続します。カスタム カタログ プラグイン(BigQueryMetastoreCatalog)を統合することで、このエンドポイントを使用すると、データファイルとメタデータ ファイルを Cloud Storage に保存しながら、BigQuery を介して Apache Iceberg テーブルのメタデータを直接管理してクエリを実行できます。

カスタム Iceberg カタログの仕組み

カスタム Apache Iceberg カタログは、JAR ライブラリで提供されるカスタム カタログ実装(org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog)を使用します。コンピューティング ワークロードが Managed Service for Apache Spark で実行されると、エンジンはこのプラグインを使用して、Apache Iceberg テーブルのメタデータ ストアとして BigQuery とやり取りします。

ワークフローは次のように動作します。

  1. カタログの実装: クエリエンジンは、BigQuery Metastore カタログ JAR を読み込み、org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog を使用するように Spark セッション カタログ プロパティを構成します。
  2. メタデータ管理: Spark SQL または DataFrame API を使用してテーブルを作成または変更すると、プラグインはデータセットとテーブルの定義を BigQuery に保存します。
  3. データ ストレージ: Apache Iceberg メタデータ ファイル(metadata.json、マニフェスト リスト、マニフェスト)とデータファイル(Parquet ファイルなど)は、指定した Cloud Storage ウェアハウス パスに直接保存されます。
  4. クロスエンジン アクセス: メタデータが BigQuery に登録されているため、Spark などのオープンソース エンジンと BigQuery から直接テーブルをクエリできます。

リソース階層

BigQuery エンドポイント用のカスタム Apache Iceberg カタログは、メタデータを次の階層に整理します。

リソース 説明
プロジェクト BigQuery リソースと Cloud Storage ウェアハウス ストレージを含む Google Cloud プロジェクト。
名前空間(データセット) Iceberg 名前空間として機能するように構成された BigQuery データセット。このデータセット内に作成されるテーブルのデフォルトの Cloud Storage ロケーションを定義します。
テーブル スキーマ、スナップショット、メタデータ ポインタが BigQuery で追跡され、データファイルが Cloud Storage に存在する Apache Iceberg テーブル。

カスタム Iceberg カタログと Iceberg REST カタログを比較する

次の表は、BigQuery エンドポイント用のカスタム Apache Iceberg カタログと Apache Iceberg REST カタログ エンドポイントの主な違いをまとめたものです。

機能 BigQuery 用のカスタム Iceberg カタログ Apache Iceberg REST カタログ エンドポイント(推奨)
Catalog API 標準 カスタム プラグイン(BigQueryMetastoreCatalog) オープン標準の Apache Iceberg REST Catalog API
カタログ階層 プロジェクト > BigQuery データセット > テーブル プロジェクト > カタログ > 名前空間 > テーブル(P.C.N.T)
ストレージ構成 データセットまたはテーブルごとに指定された Cloud Storage パス マルチバケット カタログまたはシングルバケット カタログ
認証情報のベンディング サポート対象外(直接 IAM 認証情報を使用) サポート対象(有効期間の短いストレージ アクセス トークンを販売)
障害復旧 非対応 サポート対象(クロスリージョン レプリケーションとフェイルオーバー)
最適な用途 既存のデプロイとワークフロー 新しいワークロードと標準の Iceberg REST クライアント統合

次のステップ