数据转换简介
本文档介绍了在 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 数据准备简介。
后续步骤
- 如需详细了解 DML,请参阅使用数据操纵语言 (DML) 转换数据。
- 如需详细了解 Dataform,请参阅 Dataform 概览。