SQL 工作流简介

本文档可帮助您了解 Dataform 中 SQL 工作流的架构和执行。

您可以使用 Dataform 开发、测试 SQL 工作流并对其进行版本控制,这些 SQL 工作流可在 BigQuery 中执行,以转换数据以用于分析目的。您可以通过 Dataform core、SQLX 文件和 JavaScript 文件(可选)或使用 JavaScript 开发 SQL 工作流。

SQL 工作流可以包含以下对象:

数据源声明
对 BigQuery 数据源的声明,可让您在 Dataform 表定义和 SQL 操作中引用这些数据源。
根据声明的数据源或 SQL 工作流中的其他表在 Dataform 中创建的表。Dataform 支持以下表类型:表、增量表、视图和具体化视图。
断言
可用于验证表数据的数据质量测试查询。 每次更新 SQL 工作流时,Dataform 都会运行断言,并在任何断言失败时向您发出提醒。
自定义 SQL 操作
Dataform 中按原样运行无需修改的 BigQuery 语句。
包含
包含变量和函数定义的 JavaScript 文件,您可以在 SQL 工作流中重复使用这些文件。

SQL 工作流可视化

您可以查看以有向无环图 (DAG) 形式直观呈现的 SQL 工作流。DAG 会显示工作区中定义的 SQL 工作流的所有对象,以及这些对象之间的关系。您可以放大和缩小,并使用拖放功能在 DAG 中导航。如果您的 SQL 工作流出现编译错误,Dataform 会显示错误消息而不是 DAG。

如需查看 SQL 工作流的 DAG,请在工作区中点击已编译的图表

执行 SQL 工作流

在开发工作区中,您可以手动触发执行整个 SQL 工作流、选定操作或代码。

您可以使用 Dataform 版本配置工作流配置来安排执行。首先,创建版本配置以创建代码库的编译结果。然后,创建工作流配置,选择版本配置,选择要执行的 SQL 工作流操作,并设置执行时间表。

或者,您也可以使用 Cloud ComposerWorkflows 和 Cloud Scheduler 安排执行。

执行期间,Dataform 会按照 SQL 工作流中对象依赖项的顺序在 BigQuery 中执行 SQL 查询。执行后,您可以在 BigQuery 中将定义的表和视图用于所有分析目的。

执行配置选项

如需执行一组特定的 SQL 工作流对象,您可以向所选文件添加 Dataform 执行标记。这样一来,在手动触发执行时,您可以仅执行包含所选代码的文件

默认情况下,Dataform 使用 dataform.json 文件中定义的执行设置来执行 SQL 工作流。您可以使用编译替换来替换这些执行设置。

通过工作区编译替换,您可以将工作区转换为隔离的执行环境。这意味着,当您在工作区中手动触发执行时,Dataform 会在 BigQuery 中的隔离位置执行输出。

如需创建和执行包含编译替换的单个编译结果,您可以使用 Dataform API 传递请求。

通过版本配置,您可以为整个代码库配置编译替换,以及使用应用的设置创建编译结果的频率。

如需详细了解在 Dataform 中配置编译和代码生命周期的方法,请参阅 Dataform 中的代码生命周期简介

后续步骤