BigLake metastore は、データ レイクハウスの信頼できる唯一の情報源を提供するフルマネージドのサーバーレス サービスです。これにより、Apache Spark、Apache Flink、BigQuery などの複数のエンジンが、ファイルをコピーせずにテーブルとメタデータを共有できます。
BigLake Metastore は、ストレージ アクセス権の委任(認証情報のベンディング)をサポートしています。これにより、Cloud Storage バケットへの直接アクセスが不要になり、セキュリティが強化されます。また、Dataplex Universal Catalog と統合して、ガバナンス、リネージ、データ品質を統合します。
主な機能
BigLake のコンポーネントである BigLake metastore は、サーバーレス アーキテクチャ、オープン API によるエンジン相互運用性、統合されたユーザー エクスペリエンス、BigQuery と併用した場合の高性能な分析、ストリーミング、AI など、データ管理と分析にいくつかのメリットをもたらします。これらのメリットの詳細については、BigLake とはをご覧ください。
サポートされているエンジン
BigLake metastore は、Apache Spark、Apache Flink、Trino などの複数のクエリエンジンと互換性があります。次の表に、各エンジンのドキュメントへのリンクを示します。
| エンジン | ドキュメント |
|---|---|
| Apache Spark | クイックスタート: Spark で使用する |
| Apache Flink | Apache Flink で使用する |
| Trino | Trino で使用する |
構成オプション
BigLake metastore は、Iceberg REST カタログまたは BigQuery 用のカスタム Iceberg カタログのいずれかを使用して構成できます。次の表に示すように、最適なオプションはユースケースによって異なります。
| ユースケース | 推奨事項 |
|---|---|
| オープンソース エンジンで Cloud Storage のデータにアクセスし、BigQuery や AlloyDB for PostgreSQL などの他のエンジンとの相互運用性を必要とする BigLake メタストアの新規ユーザー。 | Iceberg REST カタログを使用します。 |
| BigQuery 用のカスタム Iceberg カタログを含む現在のテーブルがある既存の BigLake metastore ユーザー。 | BigQuery 用のカスタム Iceberg カタログを引き続き使用しますが、新しいワークフローには Iceberg REST カタログを使用します。BigQuery 用のカスタム Iceberg カタログで作成されたテーブルは、BigQuery カタログ フェデレーションを介して Iceberg REST カタログで表示できます。 |
BigLake metastore(クラシック)との違い
BigLake metastore は Google Cloudで推奨される metastore ですが、BigLake metastore(クラシック)はレガシー機能と見なされます。
BigLake metastore と BigLake metastore(クラシック)の主な違いは次のとおりです。
- BigLake metastore は、Spark などのオープンソース エンジンとの直接統合をサポートしているため、メタデータの保存とジョブの実行時の冗長性を軽減できます。BigLake metastore のテーブルには、複数のオープンソース エンジンと BigQuery から直接アクセスできます。
- BigLake metastore は Iceberg REST カタログをサポートしていますが、BigLake metastore(クラシック)はサポートしていません。
BigLake Metastore の制限事項
BigLake metastore のテーブルには次の制限が適用されます。
テーブルの管理
- BigQuery のデータ定義言語(DDL)またはデータ操作言語(DML)ステートメントを使用して、BigLake Iceberg テーブルを作成または変更することはできません。BigQuery API(bq コマンドライン ツールまたはクライアント ライブラリを使用)を使用して BigLake Iceberg テーブルを変更することはできますが、外部エンジンと互換性のない変更が行われる可能性があります。
- BigLake metastore テーブルは、名前変更オペレーションや
ALTER TABLE ... RENAME TOSpark SQL ステートメントをサポートしていません。 - BigLake metastore テーブルはクラスタリングをサポートしていません。
- BigLake metastore テーブルは、柔軟な列名をサポートしていません。
- BigLake metastore は Iceberg ビューをサポートしていません。
クエリ
- BigQuery エンジンの BigLake metastore テーブルに対するクエリのパフォーマンスは、標準的な BigQuery テーブルのデータに対するクエリよりも低速になる可能性があります。一般的に、クエリの速度は Cloud Storage からデータを読み取る速度と同等になります。
- BigLake metastore のテーブルを使用するクエリの BigQuery ドライランで、行が返されても、下限 0 バイトと報告される場合があります。これは、完全なクエリが実行されるまで、テーブルから処理されるデータの量を特定できないためです。連携クエリを実行すると、このデータの処理に費用がかかります。
- ワイルドカード テーブルのクエリで BigLake metastore テーブルを参照することはできません。
API とメタデータ
tabledata.listメソッドを使用して BigLake metastore テーブルからデータを取得することはできません。代わりに、クエリ結果を BigQuery テーブルに保存し、そのテーブルでtabledata.listメソッドを使用できます。- BigLake metastore テーブルのテーブル ストレージ統計情報の表示はサポートされていません。
割り当てと上限
- BigQuery の BigLake metastore テーブルには、標準テーブルと同じ割り当てと上限が適用されます。
次のステップ
- Iceberg REST カタログを確認します。
- BigQuery 用のカスタム Iceberg カタログを確認する。