SQL 工作流简介

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

您可以使用 Dataform 开发、测试和进行 SQL 工作流的版本控制,然后在 BigQuery 中执行这些工作流,以便出于分析目的转换数据。您可以使用 Dataform 核心(使用 SQLX 文件和可选的 JavaScript 文件)或 JavaScript 开发 SQL 工作流。

SQL 工作流可以由以下对象组成:

数据源声明
BigQuery 数据源的声明,可让您在 Dataform 表定义和 SQL 操作中引用这些数据源。
您在 Dataform 中根据声明的数据源或 SQL 工作流中的其他表创建的表。Dataform 支持以下表类型:表、增量表、视图和具体化视图。
断言
可用于验证表数据的数据质量测试查询。Dataform 每次更新 SQL 工作流时都会运行断言,如果任何断言都失败,系统会向您发出提醒。
自定义 SQL 操作
Dataform 在 BigQuery 中按原样运行的 SQL 语句,无需修改。
包含
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 中代码生命周期简介

后续步骤