BigQuery 数据准备简介

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

优势

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

数据准备入口点

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

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

数据准备编辑器中的视图

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

数据视图

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

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

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

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

数据准备编辑器中的数据视图

图表视图

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

数据准备编辑器中的图表视图

架构视图

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

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

数据准备编辑器中的架构视图

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 Scheduling(安排)页面中管理这些作业。如需了解详情,请参阅安排数据准备工作

使用数据准备任务构建流水线

您可以构建由数据准备、SQL 查询和笔记本任务组成的 BigQuery 流水线。然后,您可以按计划运行这些流水线。如需了解详情,请参阅 BigQuery 数据流简介

控制访问权限

使用 Identity and Access Management (IAM) 角色、BigQuery 和 Dataform Cloud KMS 密钥加密以及 VPC Service Controls 控制对数据准备的访问权限。

IAM 角色和权限

准备数据的用户和运行作业的 Dataform 服务账号需要拥有 IAM 权限。如需了解详情,请参阅所需角色为 BigQuery 设置 Gemini

使用 Cloud KMS 密钥进行加密

在 BigQuery 中使用默认的客户管理型 Cloud KMS 密钥对数据集级或项目级数据进行加密。如需了解详情,请参阅设置数据集默认键设置项目默认键

默认情况下,您可以使用 Dataform Cloud KMS 密钥在项目级加密流水线代码。

VPC Service Controls 边界

如果您使用 VPC Service Controls,则必须配置边界以保护 Dataform 和 BigQuery。如需了解详情,请参阅 BigQueryDataform 的 VPC Service Controls 限制。

限制

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

  • 给定数据准备作业的所有 BigQuery 数据准备源数据集和目标数据集都必须位于同一位置。如需了解详情,请参阅位置
  • 在修改数据流期间,系统会将数据和互动发送到 Gemini 数据中心进行处理。如需了解详情,请参阅位置
  • Assured Workloads 不支持 Gemini in BigQuery。
  • BigQuery 数据准备不支持查看、比较或恢复数据准备版本。
  • Gemini 的回答基于您在设计数据准备流水线时提供的数据集的样本。如需了解详情,请参阅 Gemini for Google Cloud 如何使用您的数据以及 Gemini for Google Cloud 可信测试员计划中的条款。
  • BigQuery 数据准备没有自己的 API。如需了解必要的 API,请参阅在 BigQuery 中设置 Gemini

位置

您可以在任何受支持的 BigQuery 位置使用数据准备功能。您的数据处理作业会在源数据集的位置执行和存储。如果指定了代码库位置,则该位置必须与源数据集位置相同。数据准备代码存储区域可以与作业执行区域不同。如需了解详情,请参阅为代码资产设置默认区域

Gemini in BigQuery 在全球范围内运营,因此您在设计数据准备时无法将 Gemini 的数据处理限制在特定区域,但在设计和执行期间,BigQuery 数据处理始终在源数据集所在的位置执行。如需详细了解 Gemini in BigQuery 处理数据的位置,请参阅 Gemini 服务位置

价格

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

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

配额

如需了解详情,请参阅 Gemini in BigQuery 的配额

后续步骤