選擇合適的資料表架構,對於盡可能提高效能、降低成本,以及確保數據分析工具可存取資料至關重要。本頁面說明無邊界 Lakehouse 中提供的不同資料表類型和服務端點,協助您根據寫入引擎、讀取需求和管理控制需求,選擇最合適的選項。
目錄或引擎的表格格式
選取目錄或引擎,瞭解支援的表格格式、中繼存放區設定、儲存空間最佳化功能,以及引擎互通性。
Lakehouse 執行階段目錄
Lakehouse 執行階段目錄會透過 Iceberg REST 目錄端點管理 Apache Iceberg 資料表,並在與 Iceberg 相容的引擎 (Spark、Flink、Trino) 和 BigQuery 之間提供順暢的讀寫互通性,同時以業界標準的 Iceberg REST 目錄介面為後盾。
支援的表格格式
支援 Apache Iceberg V2 資料表 (正式發布版) 和 V3 資料表 (預先發布版)。系統不支援 Iceberg V1 資料表。如要透過 Lakehouse 使用現有的 V1 表格,必須先將表格升級至支援的版本。詳情請參閱「將 Iceberg V1 資料表升級至 V2」。
Key features include:
- Metastore:Lakehouse 執行階段目錄。
- 儲存空間:Cloud Storage。
- 儲存空間最佳化:由您管理,或選擇由 Google 管理 (預覽版)。
- 讀取及寫入權限:
- 開放原始碼引擎:讀取和寫入 (正式版)
- BigQuery:讀取/寫入 (預先發布版)
- 應用情境:開放式湖倉,提供高效能企業級儲存空間,適用於進階分析、串流和 AI。
Hive Metastore
Lakehouse 執行階段目錄會透過 Apache Hive metastore (HMS) 端點管理 Apache Hive 資料表,並針對 Apache Spark 相容性進行最佳化ExternalCatalog,讓您順暢地在 Apache Spark、Apache Hive 和 BigQuery 之間共用資料。您可以使用開放原始碼引擎建立這些資料表,並將其儲存在 Cloud Storage。如果您希望 ETL 工作流程由開放原始碼引擎管理,不需要個別的自架 Hive 中繼存放區,且只需要 BigQuery 的讀取權限,這個選項最適合您。
由 Hive Metastore 端點管理的資料表是標準的 Apache Hive 和 Spark 資料表 (使用 Hive SerDes 或 Spark 資料來源),而非 Apache Iceberg 資料表。如要在 Lakehouse 執行階段目錄中建立及管理 Apache Iceberg 資料表,請改用 Iceberg REST 目錄端點。
Key features include:
- Metastore:Lakehouse 執行階段目錄 (透過自訂
IMetastoreClient)。 - 儲存空間:Cloud Storage (支援 Parquet、ORC 和 Avro 等格式)。
- 儲存空間最佳化:由您或第三方管理。
- 讀取及寫入權限:
- 開放原始碼引擎 (Spark 和 Hive):讀取和寫入。
- BigQuery:唯讀。
- 用途:將現有的 Spark 和 Hive 工作負載遷移至 Google Cloud上的全代管無伺服器 Metastore。
各產品的資料表格式
請參閱下表,比較 Lakehouse 執行階段目錄中的表格類型。
湖倉
| Apache Iceberg (正式發布版) | 跨雲端資料存取權 (預先發布版) | Apache Hive (預先發布版) | |
|---|---|---|---|
| Metastore | Lakehouse 執行階段目錄 | Lakehouse 執行階段目錄 | Lakehouse 執行階段目錄 |
| 儲存空間 | Cloud Storage | Cloud Storage / Amazon S3 | Cloud Storage |
| 儲存空間最佳化 | 由客戶、第三方或 Google 管理 (預覽版) | 由客戶或第三方管理 | 由客戶或第三方管理 |
| 讀寫 |
開放原始碼引擎 (讀取/寫入) BigQuery (讀取/寫入 [預先發布版]) |
開放原始碼引擎 (讀取) BigQuery (讀取) |
開放原始碼引擎 (讀取/寫入) BigQuery (唯讀) |
| 進階作業 | 無 | 無 | 無 |
| 存取控管 | 透過 IAM 進行資料表層級的安全防護 | 透過 IAM 進行資料表層級的安全防護 | 透過 IAM 進行資料表層級的安全防護 |
| 用途 | 開放式 lakehouse | 查詢其他雲端供應商的資料,不必遷移檔案或建構複雜的 ETL 管道。 | 將現有的 Spark 和 Hive 工作負載遷移至全代管無伺服器 metastore |
Iceberg 資料表功能
請參閱下表,進一步瞭解 Lakehouse 執行階段目錄中 Apache Iceberg 資料表提供的功能。
| 功能 | 支援 |
|---|---|
| 目錄 | Lakehouse 執行階段目錄 (相容於 Iceberg REST 目錄) |
| 儲存空間 | Cloud Storage |
| 可透過 Iceberg REST 目錄端點存取 | 是 |
| 讀取/寫入互通性 | |
| BigQuery 讀取查詢 (SELECT、BQML、AI 函式) | 支援 (正式發布) |
| BigQuery DML (INSERT、UPDATE、DELETE、MERGE) | 支援 (預先發布版) |
| OSS 引擎讀取 | 支援 (正式發布) |
| OSS 引擎寫入 | 支援 (正式發布) |
| OSS 引擎串流寫入 (Kafka、Spark、Dataflow,搭配 Iceberg I/O 接收器) | 支援 (正式發布) |
| 受管理和進階功能 | |
| 資料表管理 (壓縮、垃圾回收) | 支援 (預先發布版) |
| BigQuery 變更資料擷取 (CDC) | 支援 (預先發布版) |
| 時空旅行 | |
| 時間回溯 (使用 OSS 引擎) | 彈性 (透過資料表屬性設定) |
| 時間旅行 (使用 BigQuery) | 上限為 7 天 |
| 快照記錄和還原至先前的快照 | 支援 (正式發布) |
| Knowledge Catalog 功能 | |
| 中繼資料分類、搜尋與發現 | 支援 (正式發布) |
| 歷程 | 支援 (正式發布) |
| 資料品質/剖析 | 支援 (正式發布) |
| 深入分析 | 支援 (正式發布) |
| 根據 AI 生成資料欄和資料表說明 | 支援 (正式發布) |