BigLake metastore の概要
BigLake metastore は、Cloud Storage または BigQuery に保存されているレイクハウス データを、オープンソース ランタイム(Apache Spark や Apache Flink など)や BigQuery などの複数のランタイムに接続する、統合されたマネージド サーバーレスのスケーラブルなメタストアです。
BigLake metastore は、複数のエンジンのメタデータを管理するための信頼できる唯一の情報源を提供します。BigLake Iceberg テーブルと標準の BigQuery テーブルを介して、Apache Iceberg などの主要なオープンソース テーブル形式をサポートしています。また、BigLake Metastore は、オープン API と Iceberg REST カタログ(プレビュー)をサポートしています。
次のテーブルを参考にして、BigLake Metastore の導入をどこから始めるかを判断してください。
ユースケース | 推奨事項 |
---|---|
オープンソース エンジンが Cloud Storage のデータにアクセスする必要がある。 | Iceberg REST カタログ(プレビュー)を確認します。 |
オープンソース エンジンは BigQuery との相互運用性が必要です。 | BigQuery カスタム Iceberg カタログ プラグインを使用して、オープンソース エンジン(Spark など)との BigLake metastore 統合を調べます。 |
利点
BigLake metastore には、データ マネジメントと分析を行う上で次のような利点があります。
- サーバーレス アーキテクチャ。BigLake metastore はサーバーレス アーキテクチャを提供するため、サーバーやクラスタの管理は不要です。これにより、運用上のオーバーヘッドを削減し、デプロイを簡素化して、需要に応じた自動スケーリングが可能になります。
- エンジンの相互運用性。BigLake metastore を使用すると、オープンソース エンジン(Spark や Flink など)と BigQuery でテーブルに直接アクセスできるため、追加の構成なしでオープン形式のテーブルをクエリできます。たとえば、Spark でテーブルを作成し、BigQuery で直接クエリを実行できます。これにより、分析ワークフローを効率化し、複雑なデータ移動や ETL プロセスの必要性を軽減できます。
- 統合されたユーザー エクスペリエンス。BigLake metastore は、BigQuery とオープンソース エンジンを統合したワークフローを提供します。この統合エクスペリエンスにより、Iceberg REST カタログ(プレビュー)を使用して、セルフホストまたは Dataproc でホストされている Spark 環境を構成できます。また、BigQuery Studio ノートブックで Spark 環境を構成して同じことを行うこともできます。
BigLake metastore のテーブル形式
BigLake は、複数のテーブルタイプをサポートしています。次のテーブルを使用して、ユースケースに最適な形式を選択します。
外部テーブル | BigLake Iceberg テーブル | BigQuery の BigLake Iceberg テーブル | 標準の BigQuery テーブル | |
---|---|---|---|---|
メタストア | 外部またはセルフホストのメタストア | BigLake Metastore | BigLake Metastore | BigLake Metastore |
ストレージ | Cloud Storage / Amazon S3 / Azure | Cloud Storage | Cloud Storage | BigQuery |
管理 | お客様または第三者 | Google(高度なマネージド エクスペリエンス) | Google(最も高度なマネージド エクスペリエンス) | |
読み取り / 書き込み |
オープンソース エンジン(読み取り/書き込み) BigQuery(読み取り専用) |
オープンソース エンジン(読み取り/書き込み) BigQuery(読み取り専用) |
オープンソース エンジン(Iceberg ライブラリでの読み取り専用、BigQuery Storage API との読み取り/書き込みの相互運用性) BigQuery(読み取り/書き込み) |
オープンソース エンジン(BigQuery Storage API との読み取り/書き込みの相互運用性) BigQuery(読み取り/書き込み) |
Use cases | 移行、BigQuery ロード用のステージング テーブル、セルフマネジメント | オープン レイクハウス | 分析、ストリーミング、AI 向けのエンタープライズ グレードのストレージを備えたオープン レイクハウス | 分析、ストリーミング、AI 向けのエンタープライズ グレードのストレージ |
BigLake metastore(クラシック)との違い
BigLake metastore は Google Cloudでの推奨された metastore です。
BigLake metastore と BigLake metastore(クラシック)の主な違いは次のとおりです。
- BigLake metastore は、BigQuery とは異なるスタンドアロンの metastore サービスで、Iceberg テーブルのみをサポートします。異なる 3 つの部分からなるリソースモデルがあります。BigLake metastore(クラシック)テーブルは BigQuery から自動的に検出されません。
- BigLake metastore のテーブルには、複数のオープンソース エンジンと BigQuery からアクセスできます。BigLake metastore は Spark との直接統合をサポートしているため、メタデータの保存とジョブの実行時の冗長性を軽減できます。BigLake metastore は、複数のランタイムにわたってレイクハウス データを接続する Iceberg REST カタログ(プレビュー)もサポートしています。
制限事項
BigLake metastore のテーブルには次の制限が適用されます。
- BigQuery エンジンを使用して DDL ステートメントまたは DML ステートメントで BigLake metastore テーブルを作成または変更することはできません。BigQuery API(bq コマンドライン ツールまたはクライアント ライブラリを使用)を使用して BigLake metastore テーブルを変更することはできますが、外部エンジンと互換性のない変更が行われるリスクがあります。
- BigLake metastore テーブルは、名前変更オペレーションや
ALTER TABLE ... RENAME TO
Spark SQL ステートメントをサポートしていません。 - BigLake metastore テーブルには、標準的なテーブルと同じ割り当てと上限が適用されます。
- BigQuery エンジンの BigLake metastore テーブルに対するクエリのパフォーマンスは、標準的な BigQuery テーブルのデータに対するクエリよりも低速になる可能性があります。一般的に、BigLake metastore テーブルのクエリ パフォーマンスは、Cloud Storage からデータを直接読み取る処理と同等に
- BigLake metastore のテーブルを使用するクエリのドライランで、行が返されても、下限 0 バイトと報告される場合があります。これは、実際のクエリが完了するまで、テーブルから処理されるデータの量を決定できないためです。連携クエリを実行すると、このデータの処理に費用がかかります。
- ワイルドカード テーブルのクエリで BigLake metastore テーブルを参照することはできません。
tabledata.list
メソッドを使用して BigLake metastore テーブルからデータを取得することはできません。代わりに、クエリ結果を宛先テーブルに保存し、そのテーブルでtabledata.list
メソッドを使用できます。- BigLake metastore テーブルはクラスタリングをサポートしていません。
- BigLake metastore テーブルは、柔軟な列名をサポートしていません。
- BigLake metastore テーブルのテーブル ストレージ統計情報の表示はサポートされていません。
- BigLake metastore は Iceberg ビューをサポートしていません。
次のステップ
- Dataproc Metastore データを BigLake metastore に移行する
- Dataproc で BigLake metastore を使用する
- Dataproc Serverless で BigLake metastore を使用する