BigLake 表概览

本文档介绍了在 BigLake 上构建湖仓时可用的不同表格式,并可帮助您选择适合自己需求的格式。

在 BigLake 上构建湖仓一体架构时,您可以选择多种表格式,这些表格式提供不同级别的管理、性能和互操作性。您的选择取决于数据的来源、您要使用哪些引擎进行写入和转换,以及您需要对存储和元数据拥有多大的控制权。

表格式

在 BigLake 上构建湖仓一体时,您可以选择以下表格格式:

  • BigLake Iceberg 表是您通过开源引擎创建并存储在 Cloud Storage 中的 Iceberg 表。与使用 BigLake metastore 的所有表一样,它们可以由开源引擎和 BigQuery 读取。不过,只有开源引擎才能向该表写入数据。如果您希望 ETL 工作流由开源引擎管理,最好选择此选项。
  • BigQuery 中的 BigLake Iceberg 表是您通过 BigQuery 创建并存储在 Cloud Storage 中的 Iceberg 表。与使用 BigLake metastore 的所有表一样,它们可以由开源引擎和 BigQuery 读取。不过,只有 BigQuery 引擎可以直接写入这些表。如果您希望 BigQuery 全代管式提取、转换和加载 (ETL) 工作流,此选项是最佳选择。
  • 标准 BigQuery 表由 BigQuery 完全管理,并具有最先进的数据分析和管理功能。您仍然可以将这些表连接到 BigLake metastore。此选项最适合非 Iceberg 表。
  • 外部表是指 BigLake metastore 之外的表。这些表的数据和元数据完全由您自行管理,您完全依赖于开放表格式(例如 Iceberg、Apache Hudi 或 Delta Lake)的功能。BigQuery 只能读取这些表中的数据。如果您想在第三方目录中自行管理数据和元数据,请选择此选项。

您可以使用下表比较表格式选项:

外部表 BigLake Iceberg 表 BigQuery 中的 BigLake Iceberg 表 标准 BigQuery 表
Metastore 外部或自托管 metastore BigLake metastore BigLake metastore BigQuery
存储 Cloud Storage / Amazon S3 / Azure Cloud Storage Cloud Storage BigQuery
存储空间优化 由客户或第三方管理 由客户或第三方管理 由 Google 管理 由 Google 管理
读取/写入 开源引擎(读取/写入)

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

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

BigQuery(读/写)

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

BigQuery(读/写)

使用场景 用于 BigQuery 加载的暂存表、仅限查询的旧版表 开放式湖仓一体 开放式湖仓一体,具有高性能的企业级存储,可用于高级分析、流式处理和 AI 适用于高级分析、流式传输和 AI 的企业级存储