数据转换简介

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

转换数据的方法

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

  • 使用数据操纵语言 (DML) 转换 BigQuery 表中的数据。
  • 使用 Dataform 在 BigQuery 中开发、测试、安排 SQL 工作流并进行版本控制。

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

使用 DML 转换数据

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

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

使用 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 功能概览

后续步骤