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

BigQuery 用のカスタム Apache Iceberg カタログのエンドポイントは、Apache Spark や Apache Flink などのオープンソース クエリエンジンをレイクハウス ランタイム カタログに接続します。カスタム カタログ プラグイン(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 プロジェクト。
Namespace(データセット) 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 データセット] > [テーブル] プロジェクト > カタログ > Namespace > テーブル(P.C.N.T)
ストレージ構成 データセットまたはテーブルごとに指定された Cloud Storage パス 複数バケット(bl://)または単一バケット(gs://)カタログ
認証情報のベンディング サポートされていません(IAM 認証情報を直接使用します)。 サポートされている(有効期間の短いストレージ アクセス トークンを販売)
障害復旧 非対応 サポート対象(クロスリージョン レプリケーションとフェイルオーバー)
最適な用途 既存のデプロイとワークフロー 新しいワークロードと標準の Iceberg REST クライアント統合

次のステップ