BigQuery 数据准备简介
本文档介绍了 BigQuery 中的 AI 增强数据准备。数据准备是 BigQuery 资源,可使用 Gemini in BigQuery 分析数据,并提供智能建议来清理、转换和丰富数据。您可以大幅减少手动数据准备任务所需的时间和精力。数据准备的调度由 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 表达式清理和转换数据。您会收到以下表达式的建议卡片:
您还可以在手动转换步骤中使用任何有效的 BigQuery SQL 表达式。例如:
如需了解详情,请参阅添加转换。 |
过滤 | 通过 WHERE 子句语法移除行。添加过滤步骤时,您可以选择将其转换为验证步骤。
如需了解详情,请参阅过滤行。 |
验证 | 将不符合验证规则条件的行发送到错误表。如果数据不符合验证规则且未配置错误表,数据准备在执行期间会失败。
如需了解详情,请参阅配置错误表并添加验证规则。 |
加入 | 联接两个来源的值。表必须位于同一位置。
联接键列必须具有相同的数据类型。数据准备支持以下联接操作:
如需了解详情,请参阅添加联接运算。 |
目的地 | 定义输出数据准备步骤的目标。如果您输入不存在的目标表,数据准备会使用当前架构信息创建一个新表。 如需了解详情,请参阅添加或更改目标表。 |
删除列 | 从架构中删除列。您可以从架构视图执行此步骤。
如需了解详情,请参阅删除列。 |
安排数据准备运行
如需执行数据准备步骤并将准备好的数据加载到目标表中,请创建时间表。您可以通过数据准备编辑器安排数据准备,并通过 BigQuery 时间安排页面进行管理。如需了解详情,请参阅安排数据准备。
使用数据准备任务构建流水线
您可以构建由数据准备、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。如需了解详情,请参阅适用于 BigQuery 和 Dataform 的 VPC Service Controls 限制。
限制
数据准备功能可用,但存在以下限制:
- 给定数据准备的所有 BigQuery 数据准备源和目标数据集必须位于同一位置。如需了解详情,请参阅位置。
- 在流水线修改期间,数据和互动会发送到 Gemini 数据中心进行处理。如需了解详情,请参阅位置。
- Assured Workloads 不支持 Gemini in BigQuery。
- BigQuery 数据准备不支持查看、比较或恢复数据准备版本。
- Gemini 的响应基于您在设计数据准备流水线时提供的数据集样本。如需了解详情,请参阅 Gemini for Google Cloud 如何使用您的数据和 Gemini for Google Cloud 可信测试员计划中的条款。
- BigQuery 数据准备没有自己的 API。如需了解必要的 API,请参阅设置Gemini in BigQuery。
位置
您可以在任何受支持的 BigQuery 位置使用数据准备。您的数据处理作业会在源数据集所在的位置执行并存储。如果指定了存储库位置,则该位置必须与源数据集位置相同。数据准备代码存储区域可以与作业执行区域不同。
BigQuery Studio 中的所有代码资源都使用相同的默认区域。 如需为代码资源设置默认区域,请按以下步骤操作:
转到 BigQuery 页面。
在探索器窗格中,找到启用了代码资源的项目。
点击项目旁边的
查看操作,然后点击更改我的默认代码区域。对于区域,选择您要用于代码资源的区域。
点击选择。
如需查看可用区域列表,请参阅 BigQuery Studio 位置。
Gemini in BigQuery 在全球范围内运行,因此您无法在设计数据准备时将 Gemini 的数据处理限制在特定区域,尽管设计和执行时间的 BigQuery 数据处理始终在源数据集的位置执行。如需详细了解 Gemini in BigQuery 处理数据的位置,请参阅 Gemini 服务位置。
价格
运行数据准备和创建数据预览样本会使用 BigQuery 资源,相应费用按 BigQuery 价格中显示的费率收取。
数据准备包含在 Gemini in BigQuery 价格中。在预览期间,您可以免费使用 BigQuery 数据准备。如需了解详情,请参阅设置 Gemini in BigQuery。
配额
如需了解详情,请参阅 Gemini in BigQuery 的配额。
后续步骤
- 了解如何使用 Gemini in BigQuery 准备数据。
- 了解如何手动或按计划运行数据准备。