了解表类型和功能

Lakehouse for Apache Iceberg 支持多种表类型,可为Google Cloud上的湖仓一体提供不同级别的管理、性能和互操作性。您可以根据数据来源、写入引擎要求和控制需求,选择 Lakehouse 运行时目录或 BigQuery 支持的表格式。

支持的表格格式

支持 Apache Iceberg V2 表(正式版)和 V3 表(预览版),但不支持 Iceberg V1 表。在将现有 V1 表与 Lakehouse for Apache Iceberg 搭配使用之前,您必须将这些表升级到受支持的版本。如需了解详情,请参阅将 Iceberg V1 表升级到 V2

按目录和引擎划分的表格格式

选择下面的目录或引擎,了解其支持的表格式、元存储区配置、存储优化功能和引擎互操作性。

Iceberg REST Catalog

Lakehouse 运行时目录通过 Iceberg REST 目录端点管理 Apache Iceberg 表,提供标准 REST 接口,可广泛兼容 Apache Spark、Apache Flink 和 Trino 等开源引擎。这些表是您通过开源引擎创建并存储在 Cloud Storage 中的表。如果您希望 ETL 工作流由开源引擎管理,并且仅需要 BigQuery 的读取权限,那么此选项是最佳选择。

Key features include:

  • Metastore:Lakehouse 运行时目录。
  • 存储:Cloud Storage。
  • 存储空间优化:由您或第三方管理。
  • 读写权限
    • 开源引擎:读取和写入。
    • BigQuery:只读。
  • 应用场景:开放式湖仓一体,具有高性能的企业级存储,可用于高级分析、流式处理和 AI。

Hive metastore

Lakehouse 运行时目录通过针对 Apache Spark ExternalCatalog 兼容性优化的 Apache Hive metastore (HMS) 端点管理 Apache Hive 表,让您可以在 Apache Spark、Apache Hive 和 BigQuery 之间无缝共享数据。这些表是您通过开源引擎创建并存储在 Cloud Storage 中的。如果您希望 ETL 工作流由开源引擎管理,而无需单独的自托管 Hive metastore,并且只需要 BigQuery 的读取访问权限,那么此选项是最佳选择。

Key features include:

  • Metastore:Lakehouse 运行时目录(通过自定义 IMetastoreClient)。
  • 存储:Cloud Storage(支持 Parquet、ORC 和 Avro 等格式)。
  • 存储空间优化:由您或第三方管理。
  • 读写权限
    • 开源引擎(Spark 和 Hive):读取和写入。
    • BigQuery:只读。
  • 使用场景:将现有的 Spark 和 Hive 工作负载迁移到 Google Cloud上全托管的无服务器 metastore。

BigQuery

BigQuery 支持 Apache Iceberg 表、原生表和外部表。

  • Apache Iceberg 表:这些表是您通过 BigQuery 创建和管理的 Apache Iceberg 表,存储在 Cloud Storage 中。虽然开源引擎可以读取这些表,但 BigQuery 是管理元数据并写入这些表的引擎。如果您希望工作流由 BigQuery 全代管式,最好选择此选项。

  • 原生表:这些是原生 BigQuery 表。它们由 BigQuery 全代管式,并提供最先进的分析和管理功能。此选项最适合非 Iceberg 工作负载。

  • 外部表:这些表是 BigQuery 针对存储在 Cloud Storage、Amazon S3 或 Azure Blob Storage 中的数据而构建的特定结构。数据和元数据由用户自行管理,BigQuery 仅具有读取权限。如果您想直接在第三方目录或存储空间中管理数据,请选择此选项。

比较表类型

使用下表比较 Lakehouse 运行时目录和 BigQuery 之间的表类型。

湖仓一体

Apache Iceberg(正式版) Apache Hive(预览版)
Metastore Lakehouse 运行时目录 Lakehouse 运行时目录
存储 Cloud Storage Cloud Storage
存储空间优化 由客户或第三方管理 由客户或第三方管理
读取/写入 开源引擎(读取/写入)

BigQuery(只读)
开源引擎(读取/写入)

BigQuery(只读)
高级操作
使用场景 开放式湖仓一体 将现有的 Spark 和 Hive 工作负载迁移到全代管式无服务器 metastore

BigQuery

BigQuery 管理的 Iceberg 外部表 标准表
Metastore BigQuery 外部或自托管 metastore BigQuery
存储 Cloud Storage Cloud Storage / Amazon S3 / Azure BigQuery
存储空间优化 由 Google 管理 由客户或第三方管理 由 Google 管理
读取/写入 开源引擎(通过 Iceberg 库实现只读操作,通过 BigQuery Storage API 实现读/写互操作性)

BigQuery(读/写)

开源引擎(读取/写入)

BigQuery(只读)
开源引擎(通过 BigQuery Storage API 实现读/写互操作性)

BigQuery(读/写)

高级操作 使用 BigQuery Storage Write API、变更数据捕获 (CDC) 和多语句事务实现高吞吐量流式传输 使用 BigQuery Storage Write API、变更数据捕获 (CDC) 和多语句事务实现高吞吐量流式传输
使用场景 开放式湖仓一体,具有高性能的企业级存储,可用于高级分析、流式处理和 AI 用于 BigQuery 加载的暂存表、仅限查询的旧版表 适用于高级分析、流式传输和 AI 的企业级存储

后续步骤