關於 Lakehouse 執行階段目錄

Lakehouse 執行階段目錄是全代管的無伺服器服務,可為資料湖倉提供單一可靠資料來源。可讓多個引擎 (包括 Apache Spark、Apache Flink 和 BigQuery) 共用資料表和中繼資料,不必複製檔案。

Lakehouse 執行階段目錄支援儲存空間存取委派 (憑證販售),可移除直接存取 Cloud Storage bucket 的需求,進而提升安全性。此外,還整合了 Knowledge Catalog,可統一管理、追蹤歷程和確保資料品質。

主要功能

Lakehouse 執行階段目錄是 Google Cloud Lakehouse 的元件,可為資料管理和分析提供多項優勢,包括無伺服器架構、透過開放式 API 實現引擎互通性、一致的使用者體驗,以及搭配 BigQuery 使用時的高效能分析、串流和 AI。如要進一步瞭解這些優點,請參閱「什麼是 Google Cloud Lakehouse?

支援的引擎

Lakehouse 執行階段目錄與多個查詢引擎相容,包括 (但不限於) Apache Spark、Apache Flink 和 Trino。下表提供各引擎的說明文件連結:

引擎 說明文件
Apache Spark 快速入門導覽課程:搭配 Spark 使用
Apache Flink 搭配 Apache Flink 使用
Trino 搭配 Trino 使用

設定選項

您可以透過兩種方式設定 Lakehouse 執行階段目錄:使用 Apache Iceberg REST 目錄端點,或使用 BigQuery 端點的「自訂 Apache Iceberg 目錄」。最佳選項取決於您的用途,如下表所示:

用途 建議
希望開放原始碼引擎存取 Cloud Storage 中的資料,並與其他引擎 (包括 BigQuery 和 AlloyDB for PostgreSQL) 互通的新 Lakehouse 執行階段目錄使用者。 使用 Apache Iceberg REST 目錄端點
現有的 Lakehouse 執行階段目錄使用者,目前有使用 BigQuery 的自訂 Apache Iceberg 目錄的資料表。 繼續使用 BigQuery 端點的自訂 Apache Iceberg 目錄,但針對新工作流程,請使用 Apache Iceberg REST 目錄。透過 BigQuery 目錄同盟,使用 Apache Iceberg REST 目錄,即可查看透過 BigQuery 端點的自訂 Apache Iceberg 目錄建立的資料表。

與 BigLake metastore (傳統版) 的差異

建議在Google Cloud上使用 Lakehouse 執行階段目錄做為 metastore,而 BigLake metastore (傳統版) 則視為舊版功能。

Lakehouse 執行階段目錄與 BigLake 中繼存放區 (傳統版) 的主要差異包括:

  • Lakehouse 執行階段目錄支援與 Spark 等開放原始碼引擎直接整合,有助於減少儲存中繼資料和執行工作時的冗餘。您可以透過多個開放原始碼引擎和 BigQuery,直接存取 Lakehouse 執行階段目錄中的資料表。
  • Lakehouse 執行階段目錄支援 Apache Iceberg REST 目錄端點,但 BigLake metastore (傳統版) 不支援。

Lakehouse 執行階段目錄限制

Lakehouse 執行階段目錄中的資料表有以下限制:

資料表管理

  • 您無法使用 BigQuery 資料定義語言 (DDL) 或資料操縱語言 (DML) 陳述式,建立或修改 Lakehouse Iceberg REST 目錄資料表。您可以使用 BigQuery API (透過 bq 指令列工具或用戶端程式庫) 修改 Lakehouse Iceberg REST 目錄資料表,但這麼做可能會導致變更與外部引擎不相容。
  • 湖倉執行階段目錄表不支援重新命名作業ALTER TABLE ... RENAME TO Spark SQL 陳述式。
  • Lakehouse 執行階段目錄資料表不支援叢集
  • Lakehouse 執行階段目錄資料表不支援彈性資料欄名稱
  • Lakehouse 執行階段目錄不支援 Apache Iceberg 檢視區塊。

查詢

  • 與查詢標準 BigQuery 資料表中的資料相比,從 BigQuery 引擎查詢 Lakehouse 執行階段目錄資料表時,效能可能會較慢。一般來說,查詢速度應與從 Cloud Storage 讀取資料的速度相同。
  • 如果查詢使用 Lakehouse 執行階段目錄資料表,即使傳回資料列,BigQuery 模擬測試也可能會回報資料下限為 0 位元組。這是因為在完整執行查詢之前,系統無法判斷從資料表處理的資料量。執行查詢時,系統會收取處理這項資料的費用。
  • 您無法在萬用字元資料表查詢中參照 Lakehouse 執行階段目錄資料表。

API 和中繼資料

  • 您無法使用 tabledata.list 方法,從 Lakehouse 執行階段目錄資料表擷取資料。您可以將查詢結果儲存至 BigQuery 資料表,然後對該資料表使用 tabledata.list 方法。
  • 系統不支援顯示 Lakehouse 執行階段目錄資料表的資料表儲存空間統計資料。

配額與限制

  • BigQuery 中的 Lakehouse 執行階段目錄資料表,與標準資料表適用相同的配額和限制

後續步驟