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 環境,以執行相同操作。
BigLake Metastore 中的資料表格式
BigLake 支援多種資料表類型。請參閱下表,選取最符合您用途的格式:
外部資料表 | BigLake Iceberg 資料表 | BigQuery 中的 BigLake Iceberg 資料表 | 標準 BigQuery 資料表 | |
---|---|---|---|---|
Metastore | 外部或自行代管的中繼資料存放區 | BigLake Metastore | BigLake Metastore | BigLake Metastore |
儲存空間 | Cloud Storage / Amazon S3 / Azure | Cloud Storage | Cloud Storage | BigQuery |
管理 | 客戶或第三方 | 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 資料表的資料表儲存空間統計資料。
- BigLake metastore 不支援 Iceberg 檢視區塊。