选择合适的表架构可让您优化性能、降低成本,并在各种分析工具中保持数据访问。Borderless Lakehouse 提供多种表类型和传送端点,因此您可以选择适合您的写入引擎、读取要求和管理控制需求的选项。
按目录或引擎划分的表格格式
选择一个目录或引擎,了解其支持的表格式、元存储配置、存储优化功能和引擎互操作性。
Lakehouse 运行时目录
Lakehouse 运行时目录通过 Apache Iceberg REST 目录端点管理 Apache Iceberg 表,并在兼容 Iceberg 的引擎(Apache Spark、Apache Flink 和 Trino)与 BigQuery 之间提供无缝的读写互操作性,同时由业界标准的 Iceberg REST 目录接口提供支持。
支持的表格式
支持 Apache Iceberg V2 表(正式版)和 V3 表(预览版)。不支持 Iceberg V1 表。在将现有 V1 表与 Lakehouse 搭配使用之前,您必须将其升级到受支持的版本。如需了解详情,请参阅将 Iceberg V1 表升级到 V2。
Key features include:
- Metastore:Lakehouse 运行时目录。
- 存储:Cloud Storage。
- 存储优化:由您、第三方或(Google 管理,预览版)管理。
- 读写权限:
- 开源引擎:读取和写入(正式版)
- BigQuery:读/写(预览版)
- 应用场景:开放式湖仓一体,提供高性能的企业级存储,适用于高级分析、流式处理和 AI。
Hive Metastore
Lakehouse 运行时目录通过针对 Spark ExternalCatalog 兼容性进行了优化的 Apache Hive Metastore (HMS) 端点来管理 Apache Hive 表,让您能够在 Spark、Apache Hive 和 BigQuery 之间无缝共享数据。您可以通过开源引擎创建这些表,并将其存储在 Cloud Storage 中。如果您希望 ETL 工作流由开源引擎管理,而无需单独的自托管 Hive metastore,并且只需要 BigQuery 的读取权限,则此选项非常合适。
由 Hive Metastore 端点管理的表是标准 Apache Hive 和 Spark 表(使用 Hive SerDes 或 Spark 数据源),而不是 Apache Iceberg 表。如需在 Lakehouse 运行时目录中创建和管理 Apache Iceberg 表,请改用 Apache Iceberg REST 目录端点。
Key features include:
- Metastore:Lakehouse 运行时目录(通过自定义
IMetastoreClient)。 - 存储:Cloud Storage(支持 Parquet、ORC 和 Avro 等格式)。
- 存储空间优化:由您或第三方管理。
- 读写权限:
- 开源引擎(Spark 和 Apache Hive):读取和写入。
- BigQuery:只读。
- 用例:将现有 Spark 和 Apache 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 实现表级安全性 |
| 使用场景 | 开放式湖仓一体 | 查询其他云服务商中的数据,无需迁移文件或构建复杂的 ETL 流水线 | 将现有 Spark 和 Apache Hive 工作负载迁移到全代管式式无服务器 metastore |
Iceberg 表功能
请参阅下表,详细了解 Lakehouse 运行时目录中的 Apache Iceberg 表提供的功能。
如需比较由 Lakehouse 运行时目录管理的 Apache Iceberg 表与由 BigQuery 管理的 Apache Iceberg 表的功能,请参阅 Iceberg 表功能比较。
| 能力 | 支持 |
|---|---|
| 目录 | Lakehouse 运行时目录(与 Iceberg REST 目录兼容) |
| 存储 | Cloud Storage |
| 可通过 Iceberg REST Catalog 端点访问 | 是 |
| 读写互操作性 | |
BigQuery 读取查询(SELECT、BigQuery ML、AI 函数)
|
支持(正式版) |
BigQuery DML(INSERT、UPDATE、DELETE、MERGE)
|
支持(预览版) |
| OSS 引擎读取 | 支持(正式版) |
| OSS 引擎写入 | 支持(正式版) |
| OSS 引擎流式写入(Kafka、Spark、具有 Iceberg I/O 接收器的 Dataflow) | 支持(正式版) |
| 代管式高级功能 | |
| 表管理(压缩、垃圾回收) | 支持(预览版) |
| BigQuery 变更数据捕获 (CDC) | 支持(预览版) |
| 时间旅行 | |
| 时间旅行(使用 OSS 引擎) | 灵活(通过表属性进行配置) |
| 时间旅行(使用 BigQuery) | 限制为 7 天 |
| 概况历史记录和回滚到上一个概况 | 支持(正式版) |
| Knowledge Catalog 功能 | |
| 元数据编目、搜索和发现 | 支持(正式版) |
| 沿袭 | 支持(正式版) |
| 数据质量/分析 | 支持(正式版) |
| 数据分析 | 支持(正式版) |
| 基于 AI 的列和表说明生成 | 支持(正式版) |