瞭解資料表類型和功能

Lakehouse for Apache Iceberg 支援多種資料表類型,可為Google Cloud上的湖倉提供不同層級的管理、效能和互通性。您可以根據資料來源、寫入引擎需求和控管需求,選擇 Lakehouse 執行階段目錄或 BigQuery 支援的資料表格式。

支援的表格格式

僅支援 Apache Iceberg V2 資料表,不支援 Iceberg V1 資料表。如果您有現有的 Iceberg V1 資料表,必須先將其升級至 V2 (例如執行 ALTER TABLE catalog.schema.table SET TBLPROPERTIES ('format-version'='2'); 或使用類似的引擎作業),才能搭配 Lakehouse for Apache Iceberg 使用。

依目錄和引擎列出的表格格式

請選取下方的目錄或引擎,瞭解其支援的表格格式、中繼存放區設定、儲存空間最佳化功能,以及引擎互通性。

Iceberg REST 目錄

Lakehouse 執行階段目錄會透過 Iceberg REST 目錄端點管理 Apache Iceberg 資料表,提供標準 REST 介面,與 Apache Spark、Apache Flink 和 Trino 等開放原始碼引擎廣泛相容。您可以從開放原始碼引擎建立這些資料表,並儲存在 Cloud Storage 中。如果您希望 ETL 工作流程由開放原始碼引擎管理,且只需要 BigQuery 的讀取權限,這個選項最適合您。

Key features include:

  • Metastore:Lakehouse 執行階段目錄。
  • 儲存空間:Cloud Storage。
  • 儲存空間最佳化:由您或第三方管理。
  • 讀取及寫入權限
    • 開放原始碼引擎:讀取和寫入。
    • BigQuery:僅限讀取。
  • 用途:開放式湖倉,具備高效能企業級儲存空間,適用於進階分析、串流和 AI。

Hive Metastore

Lakehouse 執行階段目錄會透過專為 Apache Spark ExternalCatalog 相容性最佳化的 Apache Hive metastore (HMS) 端點,管理 Apache Hive 資料表,讓您在 Apache Spark、Apache Hive 和 BigQuery 之間順暢共用資料。您可以從開放原始碼引擎建立這些資料表,並將其儲存在 Cloud Storage 中。如果您希望 ETL 工作流程由開放原始碼引擎管理,不需要個別的自架 Hive metastore,且只需要 BigQuery 的讀取權限,這個選項最適合您。

Key features include:

  • Metastore:Lakehouse 執行階段目錄 (透過自訂 IMetastoreClient)。
  • 儲存空間:Cloud Storage (支援 Parquet、ORC 和 Avro 等格式)。
  • 儲存空間最佳化:由您或第三方管理。
  • 讀取及寫入權限
    • 開放原始碼引擎 (Spark 和 Hive):讀取和寫入。
    • BigQuery:僅限讀取。
  • 用途:將現有的 Spark 和 Hive 工作負載,遷移至 Google Cloud上的全代管無伺服器 Metastore。

BigQuery

BigQuery 支援 Apache Iceberg 資料表、原生資料表和外部資料表。

  • Apache Iceberg 資料表:這類資料表由您透過 BigQuery 建立及管理,並儲存在 Cloud Storage 中。開放原始碼引擎可以讀取中繼資料,但 BigQuery 是管理中繼資料並將資料寫入中繼資料的引擎。如果您希望工作流程完全由 BigQuery 管理,建議選取這個選項。

  • 原生資料表:這是指原生 BigQuery 資料表,屬於全代管式,提供最先進的分析和管理功能。這個選項最適合非 Iceberg 工作負載。

  • 外部資料表:這些資料表是 BigQuery 專用的建構,適用於儲存在 Cloud Storage、Amazon S3 或 Azure Blob 儲存體中的資料。資料和中繼資料由您自行管理,BigQuery 只有讀取權限。如果想直接在第三方目錄或儲存空間中管理資料,請選擇這個選項。

比較表格類型

請參閱下表,比較 Lakehouse 執行階段目錄和 BigQuery 的資料表類型。

Lakehouse

Apache Iceberg (正式發布版) Apache Hive (預先發布版)
Metastore Lakehouse 執行階段目錄 Lakehouse 執行階段目錄
儲存空間 Cloud Storage Cloud Storage
儲存空間最佳化 由客戶或第三方管理 由客戶或第三方管理
讀取 / 寫入 開放原始碼引擎 (讀取/寫入)

BigQuery (僅限讀取)
開放原始碼引擎 (讀取/寫入)

BigQuery (僅限讀取)
進階作業
用途 開放式 lakehouse 將現有的 Spark 和 Hive 工作負載遷移至全代管無伺服器 metastore

BigQuery

BigQuery 管理的 Iceberg 外部資料表 標準表格
Metastore BigQuery 外部或自行代管的 Metastore BigQuery
儲存空間 Cloud Storage Cloud Storage / Amazon S3 / Azure BigQuery
儲存空間最佳化 Google 代管 由客戶或第三方管理 Google 代管
讀取 / 寫入 開放原始碼引擎 (僅能使用 Iceberg 程式庫讀取,可透過 BigQuery Storage API 讀取/寫入)

BigQuery (讀取/寫入)

開放原始碼引擎 (讀取/寫入)

BigQuery (僅限讀取)
開放原始碼引擎 (可與 BigQuery Storage API 互通讀取/寫入)

BigQuery (讀取/寫入)

進階作業 使用 BigQuery Storage Write API、變更資料擷取 (CDC) 和多重陳述式交易,進行高輸送量串流 使用 BigQuery Storage Write API、變更資料擷取 (CDC) 和多重陳述式交易,進行高輸送量串流
用途 開放式湖倉,具備高效能企業級儲存空間,適用於進階分析、串流和 AI 用於 BigQuery 載入作業的暫存資料表、僅供查詢的舊版資料表 企業級儲存空間,適用於進階分析、串流和 AI

後續步驟