Apache Iceberg 資料表總覽

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

本文將這些資料表稱為「代管的 Apache Iceberg 資料表」或「Iceberg 資料表」。

如要比較資料表類型,請參閱「比較資料表類型」。

資料表選項

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

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

除了上述功能外,Lakehouse (預先發布版) 代管的 Apache Iceberg 資料表也預設支援下列功能。

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

管理動作

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

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

後續步驟