Apache Iceberg テーブルの概要

Lakehouse ランタイム カタログと Iceberg REST カタログ エンドポイントで管理される Apache Iceberg テーブルは、オープンソースの Apache Iceberg Table 仕様に準拠したオープンで相互運用可能な Iceberg テーブルであり、Iceberg 互換の処理エンジンまたは BigQuery を使用して読み書きできます。

このドキュメントでは、これらのテーブルを「Lakehouse Iceberg テーブル」または「Iceberg テーブル」と呼びます。

テーブル オプションを 構成することで、次の機能をオプトインして有効にできます。

  1. 読み取り/書き込みの相互運用性(プレビュー): BigQuery、Managed Service for Apache Spark、 オープンソース エンジン(Apache Spark、Apache Flink、Trino)などの Iceberg 互換エンジン、サードパーティ エンジン(Snowflake など)を含む 複数のエンジンに対するシームレスな読み取りと書き込みのサポート。
  2. 自動テーブル管理(プレビュー): 圧縮やガベージ コレクションなどの自動テーブル管理(ストレージ の最適化)。

上記の機能に加えて、Lakehouse Iceberg テーブル(プレビュー)では、次の機能もデフォルトでサポートされています。

  1. BigQuery データ定義言語(プレビュー): Spark、Flink、Trino などの Iceberg 互換エンジンを使用してテーブルを作成または 更新するだけでなく、BigQuery DDL ステートメント(たとえば、CREATE TABLEALTER TABLEDROP TABLE)を使用して Iceberg テーブルを作成または更新することもできます。テーブルが作成されると、これらのエンジンと BigQuery で読み取りと書き込みが可能になり、Lakehouse ランタイム カタログによって管理される同じカタログと名前空間の構造の一部になります。
  2. BigQuery の認証情報ベンダーのサポート(プレビュー): BigQuery は、Lakehouse ランタイム カタログで Iceberg テーブルを読み書きする際に、認証に 認証情報ベンダーを使用することをサポートしています。認証情報ベンダーはカタログ レベルで設定できます。

管理アクション

Apache Iceberg テーブルに対して次の管理アクションを実行できます。

  • テーブルを作成する: コンソール、Spark、Trino、gcloud、BigQuery(プレビュー)、または Iceberg REST Catalog API(CreateIcebergTable)を使用して、カタログ名前空間内に Apache Iceberg テーブルを作成します。 Google Cloud
  • テーブルを一覧表示する: コンソール、Spark、Trino、gcloud、BigQuery(プレビュー)、または Iceberg REST Catalog API(ListIcebergTableIdentifiers)を使用して、名前空間内のテーブル識別子を 表示します。 Google Cloud
  • テーブルの詳細を取得する: コンソール、Spark、Trino、gcloud、BigQuery(プレビュー)、または Iceberg REST Catalog API(GetIcebergTableLoadIcebergTableCredentials)を使用して、テーブルの スキーマ、プロパティ、認証情報を確認します。 Google Cloud
  • データを挿入する: Spark、Trino、または BigQuery(プレビュー)を使用して、 Iceberg テーブルにデータ行を追加します。
  • テーブルにクエリを実行する: 4 部構成のテーブル名を使用して、Spark、Trino、または BigQuery(プレビュー)から Iceberg テーブルに対してクエリを実行します。
  • DML でデータを変更する: BigQuery(プレビュー)、Spark、または Trino の DML ステートメントを使用して、Iceberg テーブルのデータ行を更新、 削除、またはマージします。
  • テーブルを変更する: コンソール、Spark、 Trino、gcloud、BigQuery(プレビュー)、または Iceberg REST Catalog API(UpdateIcebergTable)を使用して、テーブル スキーマを進化させ、 メタデータ プロパティを更新します。 Google Cloud
  • テーブル オプションを構成する: プロパティを構成して、BigQuery(プレビュー)DML と自動テーブル管理を有効にします。
  • テーブル ACL を管理する: Iceberg テーブルの IAM ポリシーを表示して更新し、特定のプリンシパルのアクセスを制御します(get-iam-policyset-iam-policy)。
  • Iceberg V1 テーブルを V2 にアップグレードする: 既存の Iceberg V1 テーブルをサポートされている V2 形式にアップグレードします。
  • Iceberg V3 テーブルでバイナリ削除ベクトルを使用する: Iceberg V3 テーブルでバイナリ削除ベクトルを有効にして、削除パフォーマンスを最適化します。
  • テーブルを削除する: コンソール、Spark、Trino、gcloud、BigQuery(プレビュー)、または Iceberg REST Catalog API(DeleteIcebergTable)を使用して、基盤となるストレージ ファイルをパージせずに、カタログからテーブル 登録を削除します。 Google Cloud

次のステップ