BigQuery 数据准备简介

本文档介绍了 BigQuery 中的 AI 增强型数据准备功能。数据准备是 BigQuery Studio 资源,可使用 BigQuery 中的 Gemini 分析数据,并提供有关清理、转换和丰富数据的智能建议。您可以显著缩短手动数据准备任务所需的时间和精力。数据准备作业编排由 Dataform 提供支持。

优势

  • 借助 Gemini 生成的上下文感知型转换建议,您可以缩短数据流水线开发所需的时间。
  • 您可以在预览中验证生成的结果,并通过自动架构映射接收数据质量清理和丰富建议。
  • 借助 Dataform,您可以使用持续集成、持续开发 (CI/CD) 流程,支持跨团队协作进行代码审核和源代码控制。

所需的角色

准备数据的用户和运行作业的 Dataform 服务账号需要具有 Identity and Access Management (IAM) 角色。如需了解详情,请参阅所需角色为 BigQuery 设置 Gemini

数据准备入口点

您可以在 BigQuery Studio 页面中创建和管理数据准备(请参阅在 BigQuery 中打开数据准备编辑器)。

当您在 BigQuery 数据准备中打开表时,系统会使用您的凭据运行 BigQuery 作业。运行时会从所选表中创建示例行,并将结果写入同一项目中的临时表中。Gemini 会使用示例数据和架构生成数据准备编辑器中显示的数据准备建议。

数据准备编辑器中的视图

数据准备工作会以标签页的形式显示在 BigQuery Studio 页面上。每个标签页都有一系列子标签页(即数据准备视图),您可以在其中设计和管理数据准备。

数据视图

创建新的准备数据时,系统会打开“准备数据”编辑器标签页,其中显示的数据视图包含表格的代表性示例。对于现有的数据准备,您可以点击数据准备流水线图表视图中的节点,前往数据视图。

借助数据视图,您可以执行以下操作:

  • 与数据互动,形成数据准备步骤。
  • 采用 Gemini 提供的建议。
  • 在单元格中输入示例值,以提高 Gemini 建议的质量。

在表格的每个列上,统计信息(直方图)会显示预览行中每个列的热门值的计数。

图表视图

图表视图可直观地概览数据准备情况。当您打开数据准备时,该工具会显示在控制台中 BigQuery Studio 页面上的标签页中。该图表会显示数据准备流水线中所有步骤的节点。您可以选择图表上的节点,以配置其代表的数据准备步骤。

架构视图

“数据准备架构”视图会显示当前正在执行的数据准备步骤的架构。显示的架构与数据视图中的列一致。

在架构视图中,您可以执行专用架构操作,例如移除列,这也会在已应用的步骤列表中创建步骤。

Gemini 的建议

Gemini 提供情境感知型建议,协助您完成以下数据准备任务:

  • 应用转换和数据质量规则
  • 标准化和丰富数据
  • 自动执行架构映射

每条建议都会显示在数据准备编辑器的建议列表中的卡片中。该卡片包含以下信息:

  • 步骤的概要类别,例如保留行转换
  • 步骤说明,例如 如果 COLUMN_NAME 不等于 NULL,则保留行
  • 用于执行相应步骤的相应 SQL 表达式

您可以预览或应用建议卡片,也可以对建议进行微调。您也可以手动添加步骤。如需了解详情,请参阅使用 Gemini 准备数据

如需优化 Gemini 提供的建议,请提供示例,说明要更改列中的内容。

数据抽样

BigQuery 会使用数据抽样功能让您预览数据准备情况。您可以在每个节点的数据视图中查看该示例。选段中的数据不会自动刷新。如需了解详情,请参阅刷新数据准备示例

写入模式

为了优化费用和处理时间,您可以更改写入模式设置,以增量处理来自源的新数据。例如,如果您在 BigQuery 中有一个每天插入记录的表,并且有一个必须反映更改后数据的 Looker 信息中心,则可以安排 BigQuery 数据准备作业,以增量读取源表中的新记录并将其传播到目标表。

如需配置将准备好的数据写入目标表的方式,请参阅通过增量处理数据来优化数据准备

支持以下写入模式:

写入模式选项 说明
完整刷新 插入准备好的数据以替换目标表中的所有数据。系统会重新创建表,而不是截断表。写入目标表时,默认模式为完整刷新。
附加 将准备好的数据插入目标表中的新行。
增量 仅在目标表中插入新数据或发生更改的数据(具体取决于您选择的增量列)。

支持的数据准备步骤

BigQuery 支持以下类型的数据准备步骤:

步骤类型 说明
来源 在您选择要从中读取数据的 BigQuery 表或添加联接步骤时,添加来源。
转换 使用 SQL 表达式清理和转换数据。您会针对以下表达式收到建议卡片:
  • 类型转换函数,例如 CAST
  • 字符串函数,例如 SUBSTRCONCATREPLACEUPPERLOWERTRIM
  • 日期时间函数,例如 PARSE_DATETIMESTAMPEXTRACTDATE_ADD
  • JSON 函数,例如 JSON_EXTRACT

您还可以在手动转换步骤中使用任何有效的 BigQuery SQL 表达式。例如:
  • 使用数字进行数学运算,例如将瓦时转换为千瓦时
  • 数组函数,例如 ARRAY_AGGARRAY_CONCATUNNEST
  • 窗口函数,例如 ROW_NUMBERLAGLEADRANKNTILE


如需了解详情,请参阅添加转换
过滤 通过 WHERE 子句语法移除行。添加过滤步骤时,您可以选择将其转换为验证步骤。

如需了解详情,请参阅过滤行
验证 将符合验证规则条件的行发送到错误表。 如果数据不符合验证规则且未配置错误表,数据准备将在执行期间失败。

如需了解详情,请参阅配置错误表并添加验证规则
加入 联接两个来源的值。表必须位于同一位置。 联接键列必须采用相同的数据类型。数据准备支持以下联接操作:
  • 内联接
  • 左联接
  • 右联接
  • 全外联接
  • 交叉联接(如果未选择任何联接键列,则使用交叉联接)


如需了解详情,请参阅添加联接操作
目的地 定义输出数据准备步骤的目标位置。如果您输入不存在的目标表,数据准备将使用当前架构信息创建一个新表。

如需了解详情,请参阅添加或更改目标表
删除列 从架构中删除列。您可以在架构视图中执行此步骤。

如需了解详情,请参阅删除列

安排数据准备运行

如需执行数据准备步骤并将准备好的数据加载到目标表中,请安排一次性或定期运行数据准备作业。您可以在数据准备编辑器中安排数据准备作业,并在 BigQuery Orchestration(编排)页面中管理这些作业。如需了解详情,请参阅安排数据准备

API

BigQuery 数据准备没有自己的 API。如需详细了解如何将 BigQuery 数据准备与 Dataform 搭配使用,请与 bq-datapreparation-feedback@google.com 联系。

限制

数据准备功能具有以下限制:

位置

数据准备支持在所有 BigQuery 位置处理数据。给定数据准备的源数据集和目标数据集必须位于同一位置。

价格

运行数据准备流程和创建数据预览样本会使用 BigQuery 资源,其费用将按照 BigQuery 价格中显示的费率计算。

数据准备费用包含在 BigQuery 中的 Gemini 价格中。在预览期间,您可以使用 BigQuery 数据准备功能,无需额外付费。如需了解详情,请参阅在 BigQuery 中设置 Gemini

配额

如需了解详情,请参阅 Google Cloud 中的 Gemini 配额

后续步骤