Apache Iceberg 資料表總覽

Lakehouse 執行階段目錄Iceberg REST 目錄端點管理的 Apache Iceberg 資料表,是符合開放原始碼 Apache Iceberg 資料表規格的開放式互通 Iceberg 資料表,可使用任何相容於 Iceberg 的處理引擎或 BigQuery 讀取及寫入。

在本文中,這些資料表稱為「Lakehouse Iceberg 資料表」或「Iceberg 資料表」。

您可以設定表格選項,選擇啟用下列功能:

  1. 讀取/寫入互通性 (搶先版):支援多個引擎順暢讀取及寫入資料,包括 BigQuery、Managed Service for Apache Spark、與 Iceberg 相容的引擎 (例如開放原始碼引擎 Apache Spark、Apache Flink 和 Trino),以及第三方引擎 (例如 Snowflake)。
  2. 自動管理資料表 (預先發布版):自動管理資料表 (儲存空間最佳化),例如壓縮和垃圾收集。

除了上述功能,Lakehouse Iceberg 資料表 (預覽版) 預設也支援下列功能。

  1. BigQuery 資料定義語言 (預先發布版):除了使用 Spark、Flink 和 Trino 等與 Iceberg 相容的引擎建立或更新資料表,您也可以使用 BigQuery DDL 陳述式 (例如 CREATE TABLEALTER TABLEDROP TABLE) 建立或更新 Iceberg 資料表。建立資料表後,即可在這些引擎和 BigQuery 中讀取及寫入資料表,並成為由 Lakehouse 執行階段目錄管理的相同目錄和命名空間建構的一部分。
  2. BigQuery 憑證販售支援 (預先發布版):BigQuery 支援使用憑證販售,在 Lakehouse Runtime Catalog 中讀取或寫入 Iceberg 資料表時進行驗證。您可以在目錄層級設定憑證販售。

管理動作

您可以對 Apache Iceberg 資料表執行下列管理動作:

  • 建立資料表使用 Google Cloud 控制台、Spark、Trino、gcloud、BigQuery (預覽版) 或 Iceberg REST 目錄 API (CreateIcebergTable),在目錄命名空間中建立 Apache Iceberg 資料表。
  • 列出資料表使用 Google Cloud 控制台、Spark、Trino、gcloud、BigQuery (預先發布版) 或 Iceberg REST Catalog API (ListIcebergTableIdentifiers),查看命名空間中的資料表 ID。
  • 取得表格詳細資料使用 Google Cloud 控制台、Spark、Trino、gcloud、BigQuery (搶先版) 或 Iceberg REST 目錄 API (GetIcebergTableLoadIcebergTableCredentials),檢查表格結構定義、屬性和憑證。
  • 插入資料使用 Spark、Trino 或 BigQuery (預覽版),將資料列附加至 Iceberg 資料表。
  • 查詢資料表使用四部分資料表命名,從 Spark、Trino 或 BigQuery (預先發布版) 針對 Iceberg 資料表執行查詢。
  • 使用 DML 修改資料使用 BigQuery (預覽版)、Spark 或 Trino 的 DML 陳述式,更新、刪除或合併 Iceberg 資料表中的資料列。
  • 變更資料表使用 Google Cloud 控制台、Spark、Trino、gcloud、BigQuery (搶先版) 或 Iceberg REST Catalog API (UpdateIcebergTable),演進資料表結構定義並更新中繼資料屬性。
  • 設定資料表選項 設定屬性,啟用 BigQuery (預先發布版) DML 和自動資料表管理功能。
  • 管理資料表 ACL查看及更新 Iceberg 資料表的 IAM 政策,控管特定主體的存取權 (get-iam-policyset-iam-policy)。
  • 將 Iceberg V1 資料表升級至 V2 將現有的 Iceberg V1 資料表升級至支援的 V2 格式。
  • 在 Iceberg V3 資料表中使用二進位刪除向量 為 Iceberg V3 資料表啟用二進位刪除向量,以提升刪除作業效能。
  • 刪除資料表從目錄中捨棄資料表註冊,但不要使用 Google Cloud 控制台、Spark、Trino、gcloud、BigQuery (搶先版) 或 Iceberg REST 目錄 API (DeleteIcebergTable) 清除基礎儲存空間檔案。

後續步驟