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