本文档可帮助您了解 Dataform 中工作流的架构和执行。
您可以使用 Dataform 开发、测试和版本控制工作流,然后在 BigQuery 中运行这些工作流,以转换数据供分析之用。您可以使用 Dataform 核心(使用 SQLX 文件和可选的 JavaScript 文件)或 JavaScript 开发工作流。
工作流可以包含以下对象:
- 数据源声明
- BigQuery 数据源的声明,可让您在 Dataform 表定义和 SQL 操作中引用这些数据源。
- Tables
- 您在 Dataform 中基于声明的数据源或工作流中的其他表创建的表。Dataform 支持以下表类型:表、增量表、视图和物化视图。
- 断言
- 可用于验证表格数据的数据质量测试查询。 Dataform 每次更新工作流时都会运行断言,并在任何断言失败时提醒您。
- 自定义 SQL 操作
- Dataform 在 BigQuery 中按原样运行的 SQL 语句,无需修改。
- 包含
- 包含变量和函数定义的 JavaScript 文件,您可以在整个工作流程中重复使用这些变量和函数。
工作流的可视化
您可以查看以有向无环图 (DAG) 形式直观呈现的工作流。DAG 会显示工作区中定义的工作流的所有对象以及它们之间的关系。您可以在 DAG 中放大和缩小,并使用拖放导航。如果工作流中存在编译错误,Dataform 会显示错误消息,而不是 DAG。
如需查看工作流的 DAG,请在工作区中点击已编译的图。
工作流的执行
在开发工作区中,您可以手动触发运行整个工作流、所选操作或所选代码。
您可以使用 Dataform 版本配置和工作流配置来安排运行。 首先,创建发布配置,以创建代码库的编译结果。然后,创建工作流配置,选择发布配置,选择要运行的工作流操作,并设置运行时间表。
或者,您也可以使用 Cloud Composer 或 Workflows 和 Cloud Scheduler 来安排运行。
在执行期间,Dataform 会按照工作流中的对象依赖项顺序在 BigQuery 中运行 SQL 查询。执行后,您可以使用定义的表和视图在 BigQuery 中进行各种分析。
执行配置选项
如需运行工作流操作的特定群组,您可以向所选文件添加 Dataform 执行标记。然后,您可以在手动触发运行后仅运行具有所选标记的文件。
默认情况下,Dataform 会使用 dataform.json
文件中定义的执行设置来运行工作流。您可以使用编译替换项替换这些执行设置。
借助工作区编译替换,您可以将工作区转变为隔离的执行环境。这意味着,当您在工作区中手动触发执行时,Dataform 会在 BigQuery 的隔离位置运行输出。
如需创建和运行具有编译替换项的单个编译结果,您可以通过 Dataform API 传递请求。
借助发布配置,您可以为整个代码库配置编译替换项,还可以配置使用应用设置创建编译结果的频率。
如需详细了解如何在 Dataform 中配置编译和代码生命周期,请参阅 Dataform 中的代码生命周期简介。
后续步骤
- 如需了解如何声明数据源,请参阅声明数据源。
- 如需了解如何声明依赖项以定义工作流中对象之间的关系,请参阅设置依赖项。
- 如需了解如何定义自定义 SQL 操作,请参阅创建操作。
- 如需了解如何通过包含在工作流中重用变量和函数,请参阅通过包含在单个代码库中重用代码。