工作流概览

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

您可以使用 Dataform 开发、测试和版本控制工作流,这些工作流可以在 BigQuery 中运行,以转换数据用于分析。Dataform 工作流为 BigQuery 流水线、数据准备、笔记本和已保存的查询提供支持。

您可以使用 Dataform 核心(使用 SQLX 文件和可选的 JavaScript 文件)或 JavaScript开发工作流。

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

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

使用数据工程智能体进行开发

数据工程智能体可帮助您构建和维护 SQL 工作流,方法是根据自然语言提示生成代码和配置。除了 SQL 逻辑之外,该智能体还会主动使用 知识目录元数据 (预览版) 填充表配置,例如字段说明、表概览以及系统和 类型信息等通用方面。这可确保您的数据资产从创建之初就可被发现。

如需了解详情,请参阅 使用数据工程智能体构建和修改数据流水线

工作流的可视化

您可以查看以有向无环图 (DAG) 形式可视化的工作流。DAG 显示了工作区中定义的工作流的所有对象以及它们之间的关系。您可以在 DAG 中放大和缩小,并使用拖放导航。如果工作流中存在编译错误,Dataform 会显示错误消息,而不是 DAG。

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

工作流的执行

您必须将自定义服务帐号与 Dataform 代码库相关联,才能执行工作流。所有其他代码库操作仍由默认的 Dataform 服务代理执行。

在开发工作区中,您可以 手动触发整个 工作流、所选操作或所选标记的运行。

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

或者,您也可以使用 Managed Service for Apache AirflowWorkflows 和 Cloud Scheduler来安排运行。

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

执行配置选项

如需运行工作流操作的特定组,您可以将 Dataform 执行标记 添加到所选文件。然后,在手动触发运行时,您可以仅运行带有选定标记的文件。

默认情况下,Dataform 会使用 workflow_settings.yaml 文件中定义的执行设置来运行工作流。

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

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

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

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

后续步骤