BigLake metastore 简介

BigLake metastore 是一种全托管式 metastore,适用于Google Cloud上的数据分析产品。它提供了一个可信来源,用于管理来自多个来源的元数据。您可以从 BigQuery 和各种开放数据处理引擎访问 metastore,这使其成为数据分析师和工程师的实用工具。

例如,您可以将 BigLake metastore 用作目录,并将其与 Apache Spark 等开源查询引擎搭配使用。使用 Spark 创建的表可以使用 BigQuery 进行查询,而无需同步元数据。

优势

BigLake metastore 在数据管理和分析方面具有以下优势:

  • 无服务器架构。BigLake metastore 提供无服务器架构,从而无需进行服务器或集群管理。这有助于减少运营开销、简化部署并允许根据需求自动扩缩。
  • 引擎互操作性。BigLake metastore 可让您在 BigQuery 中直接访问表,从而无需进行额外配置即可查询存储在 BigQuery 中的开放格式表。例如,您可以在 Spark 中创建一个表,然后直接在 BigQuery 中查询该表。这有助于简化分析工作流,并减少对复杂数据移动或 ETL 流程的需求。
  • 统一的用户体验。BigLake metastore 可在 BigQuery 和 BigQuery Studio 之间提供统一的工作流。这样,您就可以直接在 BigQuery 和 BigQuery Studio 中使用 Spark。例如:

    首先,您可以使用 BigQuery Studio 笔记本在 Spark 中创建表。

    在 BigLake metastore 中创建表

    接下来,您可以在Google Cloud 控制台中查询同一个 Spark 表。

    在 BigLake metastore 中查询表

受支持的集成

您可以将 BigLake metastore 与 Google Cloud 控制台、gcloud CLI、BigQuery REST API 或 Iceberg REST API 搭配使用。

BigLake metastore 支持以下集成:

与 BigLake metastore(经典版)的差异

BigLake metastore 是 Google Cloud上推荐使用的 metastore。

BigLake metastore 与 BigLake metastore(经典版)之间的核心区别包括以下详细信息:

  • BigLake metastore(经典版)是一项独立的 metastore 服务,它与 BigQuery 不同,并且仅支持 Iceberg 表。它具有不同的三部分资源模型。BigLake metastore(经典版)表不会在 BigQuery 中被自动发现。
  • 您可以从多个开源引擎和 BigQuery 访问 BigLake metastore 中的表。BigLake metastore 支持与 Spark 直接集成,这有助于减少存储元数据和运行作业时的冗余。BigLake metastore 还支持 Iceberg REST 目录预览版),后者可跨多个运行时连接湖仓一体数据。

限制

BigLake metastore 表存在以下限制:

  • 您无法使用 BigQuery 引擎通过 DDL 或 DML 语句创建或修改 BigLake metastore 表。您可以使用 BigQuery API(通过 bq 命令行工具或客户端库)修改 BigLake 元数据库表,但这样做可能会导致更改与外部引擎不兼容。
  • BigLake metastore 表不支持重命名操作ALTER TABLE ... RENAME TO Spark SQL 语句。
  • BigLake metastore 表与标准表具有相同的配额和限制
  • 与在标准 BigQuery 表中查询数据相比,BigQuery 引擎中 BigLake metastore 表的查询速度可能较慢。一般而言,BigLake metastore 表的查询性能应等同于直接从 Cloud Storage 读取数据。
  • 使用 BigLake 元数据库表的查询的试运行可能会报告 0 字节数据的下限,即使在返回了数据行的情况下也是如此。出现这种结果的原因是,在实际查询完成之前,无法确定从表中处理的数据量。运行查询会产生处理此数据的费用。
  • 您无法在通配符表查询中引用 BigLake metastore 表。
  • 您无法使用 tabledata.list 方法从 BigLake metastore 表中检索数据。不过,您可以将查询结果保存到目标表中,然后对该表使用 tabledata.list 方法。
  • BigLake metastore 表不支持聚类
  • BigLake metastore 表不支持使用灵活的列名称
  • 不支持显示 BigLake metastore 表的表存储空间统计信息。

后续步骤