BigLake 中繼資料庫簡介

BigLake 中繼存放區是統一、受管理、無伺服器且可擴充的中繼存放區,可將儲存在 Cloud Storage 或 BigQuery 中的湖屋資料連結至多個執行階段,包括開放原始碼執行階段 (例如 Apache Spark 和 Apache Flink) 和 BigQuery。

BigLake metastore 提供單一可靠來源,可管理多個引擎的中繼資料。透過 BigLake Iceberg 資料表和標準 BigQuery 資料表,支援 Apache Iceberg 等主要開放原始碼資料表格式。此外,BigLake 元資料庫支援開放式 API 和 Iceberg REST 目錄 (預先發布版)。

請參考下表,瞭解如何開始 BigLake 中繼資料庫的使用歷程:

用途 建議
開放原始碼引擎需要存取 Cloud Storage 中的資料。 探索 Iceberg REST 目錄 (預先發布版)。
開放原始碼引擎需要與 BigQuery 互通。 使用 BigQuery 自訂 Iceberg 目錄外掛程式,探索 BigLake 中繼存放區與開放原始碼引擎 (例如 Spark) 的整合方式。

優點

BigLake 中繼資料庫可提供多項資料管理和分析優勢:

  • 無伺服器架構。BigLake metastore 提供無伺服器架構,因此您不必管理伺服器或叢集。這有助於減少作業負擔、簡化部署作業,並可視需求自動調整資源。
  • 引擎互通性。BigLake metastore 可讓您透過開放原始碼引擎 (例如 Spark 和 Flink) 和 BigQuery 直接存取資料表,無須額外設定即可查詢開放格式資料表。舉例來說,您可以在 Spark 中建立資料表,然後直接在 BigQuery 中查詢該資料表。這有助於簡化資料分析工作流程,並減少複雜的資料移轉或 ETL 程序需求。
  • 統一使用者體驗BigLake metastore 可在 BigQuery 和開放原始碼引擎之間提供統一的作業流程。這個統一體驗可讓您設定透過 Iceberg REST 目錄 (預先發布版) 自行代管或由 Dataproc 代管的 Spark 環境,也可以在 BigQuery Studio 的 Notebook 中設定 Spark 環境,以便執行相同的操作。

    舉例來說,您可以在 BigQuery Studio 中使用 BigQuery Studio 筆記本,在 Spark 中建立資料表。

    在 BigLake metastore 中建立資料表

    接著,您可以在Google Cloud 主控台中查詢相同的 Spark 資料表。

    在 BigLake 元資料庫中查詢資料表

BigLake Metastore 中的資料表格式

BigLake 支援多種資料表類型。請參閱下表,選擇最適合您用途的格式:

外部資料表 BigLake Iceberg 資料表 BigQuery 中的 BigLake Iceberg 資料表 標準 BigQuery 資料表
Metastore 外部或自行代管的元資料庫 BigLake 中繼資料庫 BigLake 中繼資料庫 BigLake 中繼資料庫
儲存空間 Cloud Storage / Amazon S3 / Azure Cloud Storage Cloud Storage BigQuery
管理 客戶或第三方 Google Google (高度管理的體驗) Google (最受管理的體驗)
讀取/寫入 開放原始碼引擎 (讀取/寫入)

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

BigQuery (僅限讀取)
開放原始引擎 (僅限使用 Iceberg 程式庫,可與 BigQuery Storage API 進行讀取/寫入互通作業)

BigQuery (讀取/寫入)

開放原始引擎 (與 BigQuery Storage API 的讀取/寫入互通性)

BigQuery (讀取/寫入)

用途 遷移、BigQuery 載入的暫存資料表、自我管理 開放式 lakehouse 開放式 lakehouse:適用於分析、串流和 AI 的企業級儲存空間 適用於數據分析、串流和 AI 的企業級儲存空間

與 BigLake 中繼資料庫 (傳統版) 的差異

Google Cloud建議使用 BigLake metastore。

BigLake metastore 和 BigLake metastore (傳統版) 之間的主要差異包括以下幾點:

  • BigLake metastore (傳統版) 是獨立的 metastore 服務,與 BigQuery 不同,且僅支援 Iceberg 資料表。它採用不同的三部分資源模型。BigLake 中繼資料庫 (傳統版) 的資料表不會自動從 BigQuery 探索。
  • 您可以透過多個開放原始碼引擎和 BigQuery 存取 BigLake metastore 中的資料表。BigLake metastore 支援與 Spark 的直接整合,可在儲存中繼資料和執行工作時,減少重複作業。BigLake metastore 也支援 Iceberg REST 目錄 (預先發布版),可連結多個執行階段的 lakehouse 資料。

限制

以下限制適用於 BigLake 元資料庫中的資料表:

  • 您無法使用 BigQuery 引擎的 DDL 或 DML 陳述式建立或修改 BigLake 元資料表。您可以使用 BigQuery API (搭配 bq 指令列工具或用戶端程式庫) 修改 BigLake 元資料庫資料表,但這樣做可能會導致變更與外部引擎不相容。
  • BigLake 中繼資料表不支援重新命名作業ALTER TABLE ... RENAME TO Spark SQL 陳述式。
  • BigLake 中繼資料表的配額和限制與標準資料表相同。
  • 與查詢標準 BigQuery 資料表中的資料相比,BigQuery 引擎查詢 BigLake 元資料庫表的效能可能較慢。一般來說,BigLake 中繼資料表的查詢效能應與直接從 Cloud Storage 讀取資料的效能相同。
  • 使用 BigLake 中繼資料表的查詢模擬執行可能會回報資料的下限為 0 位元組,即使傳回資料列也一樣。這是因為實際查詢完成前,無法判斷從資料表處理的資料量。執行查詢時,系統會產生處理這項資料的費用。
  • 您無法在萬用字元資料表查詢中參照 BigLake metastore 資料表。
  • 您無法使用 tabledata.list 方法從 BigLake metastore 資料表擷取資料。您可以將查詢結果儲存到目的地資料表,然後對該資料表使用 tabledata.list 方法。
  • BigLake metastore 資料表不支援叢集
  • BigLake metastore 資料表不支援靈活的資料欄名稱
  • 不支援顯示 BigLake metastore 資料表的資料表儲存統計資料。

後續步驟