BigLake Metastore 簡介

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

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

請參閱下表,判斷 BigLake 中繼資料存放區的入門途徑:

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

優點

BigLake Metastore 在資料管理和分析方面有幾項優點:

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

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

    在 BigLake Metastore 中建立資料表

    然後,您可以在Google Cloud 控制台中查詢相同的 Spark 資料表。

    查詢 BigLake Metastore 中的資料表

BigLake Metastore 中的資料表格式

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

外部資料表 BigLake Iceberg 資料表 BigQuery 中的 BigLake Iceberg 資料表 標準 BigQuery 資料表
Metastore 外部或自行代管的 Metastore BigLake Metastore BigLake Metastore BigLake Metastore
儲存空間 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 Metastore (傳統版) 的差異

建議您在 Google Cloud上使用 BigLake metastore。

BigLake Metastore 與 BigLake Metastore (傳統版) 的主要差異包括:

  • BigLake metastore (傳統版) 是獨立的 metastore 服務,與 BigQuery 不同,且僅支援 Iceberg 資料表。這個 API 採用不同的三部分資源模型。BigQuery 不會自動探索 BigLake Metastore (傳統版) 資料表。
  • BigLake metastore 中的資料表可透過多個開放原始碼引擎和 BigQuery 存取。BigLake metastore 支援與 Spark 直接整合,有助於減少儲存中繼資料和執行工作時的冗餘。BigLake Metastore 也支援 Iceberg REST 目錄 (搶先版),可連結多個執行階段的 lakehouse 資料。

限制

BigLake 中繼存放區的資料表有以下限制:

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

後續步驟