数据转换简介

本文档介绍了在 BigQuery 表中转换数据的不同方式。

如需详细了解数据集成,请参阅加载、转换和导出数据简介

转换数据的方法

您可以通过以下方式转换 BigQuery 中的数据:

  • 使用数据操纵语言 (DML) 转换 BigQuery 表中的数据。
  • 使用具体化视图自动缓存查询结果,以提高性能和效率。
  • 使用持续查询实时分析传入数据,并将输出行持续插入 BigQuery 表中,或导出到 Pub/Sub 或 Bigtable。
  • 使用 Dataform 在 BigQuery 中开发、测试、安排 SQL 工作流并进行版本控制。
  • 数据准备与 AI 生成的情境感知型转换建议结合使用,以清理数据以供分析。

下表显示了每种转换方法的不同特征。

转换方法 转换目标 定义方法 转换频率
数据操纵语言 (DML) 表格(原地) SQL DML 由用户发起或安排
具体化视图 具体化视图 SQL 查询 自动或手动刷新
持续查询 Pub/Sub 主题Bigtable 表 使用 EXPORT DATA 的 SQL 查询 连续
Dataform 表格 Dataform 核心 (SQLX) 已安排(工作流)
数据准备 表格 可视化编辑器 已安排

您还可以查看 BigQuery 表格的更改历史记录,以检查在指定时间范围内对表进行的转换。

使用 DML 转换数据

您可以使用数据操纵语言 (DML) 来转换 BigQuery 表中的数据。DML 语句是 GoogleSQL 查询,这些查询可以操控现有的表数据以添加或删除行、修改现有行中的数据,或者将数据与其他表中的值合并。分区表也支持 DML 转换。

您可以并发运行多个 DML 语句,其中 BigQuery 会将多个 DML 语句排成队列依次转换数据。 BigQuery 根据转换类型来管理并发 DML 语句的运行方式

使用具体化视图转换数据

具体化视图是预计算视图,可定期缓存 SQL 查询结果以提高性能和效率。BigQuery 利用来自具体化视图的预计算结果,并尽可能只从基表中读取更改以计算最新结果。

当基表发生变化时,系统会在后台预计算具体化视图。基表中的任何增量数据更改都会自动添加到具体化视图,无需用户执行任何操作。

使用持续查询转换数据

持续查询是指连续运行的 SQL 语句。借助持续查询,您可以实时分析 BigQuery 中的传入数据。您可以将持续查询生成的输出行插入 BigQuery 表中,也可以将其导出到 Pub/Sub 或 Bigtable。

使用 Dataform 转换数据

借助 Dataform,您可以在数据集成的提取、加载和转换 (ELT) 流程中管理数据转换。从源系统中提取原始数据并将其加载到 BigQuery 后,您可以使用 Dataform 将其转换为整理、测试和记录的表套件。在 DML 中,您采用命令式方式,告知 BigQuery 如何转换数据,而在 Dataform 中,您可以编写声明式语句,让 Dataform 确定实现该状态所需的转换。

在 Dataform 中,您可以开发、测试数据转换的 SQL 工作流并进行版本控制,从数据源声明到输出表、视图或具体化视图。您可以使用 Dataform 核心或纯 JavaScript 开发 SQL 工作流。 Dataform 核心是一种开源元语言,使用 SQLX 和 JavaScript 扩展 SQL。您可以使用 Dataform Core 管理依赖项,设置自动化数据质量测试,以及在代码中记录表或列说明。

Dataform 将您的 SQL 工作流代码存储在仓库中,并使用 Git 跟踪文件更改。借助 Dataform 中的开发工作区,您可以处理仓库的内容,而不会影响同一仓库中其他人员的工作。您可以将 Dataform 仓库连接到第三方 Git 提供商,包括 Azure DevOps Services、Bitbucket、GitHub 和 GitLab。

您可以使用 Dataform 版本配置和工作流配置运行或安排 SQL 工作流。 或者,您也可以使用 Cloud Composer 或 Workflows 和 Cloud Scheduler 来安排执行。在执行期间,Dataform 会根据 SQL 工作流中的对象依赖项在 BigQuery 中执行 SQL 查询。执行后,您可以使用定义的表和视图在 BigQuery 中进行分析。

如需详细了解如何在 Dataform 中创建数据转换 SQL 工作流,请参阅 Dataform 概览Dataform 功能概览

在 BigQuery 中准备数据

为了减少数据准备工作量,BigQuery 允许您使用 Gemini 生成的转换建议来清理数据。BigQuery 中的数据准备功能可提供以下帮助:

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

您可以在数据预览中验证结果,然后再对所有数据执行更改。

如需了解详情,请参阅 BigQuery 数据准备简介

后续步骤