Workflow是一种数据处理流程自动化管理工具,它通过可视化拖拽方式整合多种类型的子任务节点,便捷地建立任务依赖关系,加速数据处理流程的搭建,有效提升任务开发效率。
背景信息
一个工作空间可以包含多个工作流,一个工作流是多种类型任务节点的集合,节点的类型包括数据集成、MaxCompute、Hologres、EMR等引擎节点(例如MaxCompute SQL节点、MaxCompute Script节点)。
注意事项
工作流(Workflow)仅支持在新版数据开发(Data Studio)中使用。旧版数据开发不支持此功能。
周期工作流与手动工作流
DataWorks提供了周期工作流和手动工作流两种,以满足需要周期性调度和无需周期性调度手动触发运行的场景,这两类工作流均可以在数据开发平台(Data Studio)中创建并开发相应的任务节点,然后将工作流发布到运维中心,以便在生产环境中运行,对比区分如下。
对比项 | 周期工作流 | 手动工作流 |
适用场景 | 这个工作流下的所有数据开发任务节点后续都需要周期性自动运行。 | 这个工作流下的所有数据开发任务节点后续都需要手动触发运行,无需周期性自动运行。 |
运行方式 | 周期性自动运行 | 手动触发 |
节点开发配置要点 | 需要配置周期性调度的参数:如周期性调度的定时时间、工作流及内部任务节点的调度依赖关系等。 | 由于任务节点是手动触发运行,因此无需配置与周期性调度相关的参数,如父节点的依赖、本节点的输出、定时时间等。 说明 除手动工作流无需配置的这些配置要点外,其他的配置参数与周期工作流的配置完全一致。 |
创建入口 |
周期工作流调度说明
调度依赖
Workflow支持如下依赖关系:
作为一个整体被其他任务(独立Task或Workflow)依赖。
作为一个整体依赖其他任务(独立Task或Workflow)。
Workflow内部的任务作为独立个体依赖其他任务(独立Task或Workflow)。
Workflow内部的任务作为独立个体被其他任务(独立Task或Workflow)依赖。
具体依赖关系示例如下:
调度配置
Workflow内部节点不需要配置调度周期,只需要配置延迟执行时间。
Workflow内部节点配置的延迟执行时间基于Workflow配置的调度时间计算实际执行时间。
任务状态
周期实例状态:
|
特殊场景说明:
Workflow内部存在冻结或暂停实例时,整个Workflow实例将会被置为失败状态。
冻结Workflow任务的补数据实例时,Workflow实例将会被置为成功状态。
补数据场景下判断任务无法执行时,Workflow会被置为失败状态。
实例状态和实际失败事件产生时间存在延迟。
通过归并节点上游是否存在失败情况来判定Workflow是否处于失败状态。
创建工作流
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
创建工作流。
周期工作流
在数据开发(
)中,单击项目目录右侧的 ,然后设置工作流名称,按
Enter
键进入周期工作流编辑页面。说明首次使用项目目录时,也可以直接单击新建工作流按钮。
手动工作流
在手动(
)中,单击手动工作流右侧的 ,然后设置手动工作流名称,按
Enter
键进入手动工作流编辑页面。
设计工作流
周期工作流
您可以在工作流编辑页面左侧选择需要的开发组件,拖拽至画布中进行开发,您也可以单击画布中央的拖拽或点击添加节点,创建需要的节点进行开发。
假设工作流设计效果如下:
进行工作流设计时:
当工作流中节点个数较多时可能会影响实际运行,建议单个工作流下节点总数不要超过100个。
说明工作流中最多创建200个节点。
您可以通过拖拽依赖线的方式设置节点调度依赖。您也可以进入节点的调度配置界面,为节点设置与外部节点的依赖关系。详情请参见调度配置。
手动工作流
在工作流编辑页面顶部单击新建内部节点,选择需要的开发组件,设置组件名称,对应组件即会出现在画布中。
按需规划工作流,假设工作流设计效果如下:
说明手动工作流默认横向展示,您可以单击画布右上角的
或
,切换展示效果。
进行工作流设计时,当工作流中节点个数较多时可能会影响实际运行,建议单个工作流下节点总数不要超过100个,工作流中最多创建200个节点。
开发业务逻辑
DataWorks将引擎能力进行封装,您可以基于引擎节点进行数据开发,无需接触复杂的引擎命令行,同时您也可以结合平台提供的通用类型节点进行复杂逻辑处理。
在工作流内,您可以基于同步和引擎计算节点等进行具体的工作流开发。
周期工作流
您可以打开同步节点,配置同步的数据来源和去向,将某个数据库的数据同步到另一个数据库。
您可以打开某个数据开发节点(例如MaxCompute SQL节点),进行具体的数据清洗工作,在代码开发过程中,如果需要使用特定资源或函数,DataWorks提供了可视化的方式创建资源节点和函数节点。数据开发的更多细节,请参见创建任务节点,创建资源和函数,请参见资源管理。
目前DataWorks对引擎能力的封装、产品层面对开发能力的支持情况请参见Data Studio概述。
节点的调度依赖,调度属性相关配置请参见调度配置。
手动工作流
您可以编辑同步节点,配置同步的数据来源和去向,将某个数据库的数据同步到另一个数据库。
您可以打开某个数据开发节点,进行具体的数据清洗工作,例如MaxCompute SQL节点,如果代码开发过程中需要用到资源或函数,DataWorks也支持您通过可视化的方式来创建资源节点和函数节点。数据开发的更多细节,请参见创建任务节点,创建资源和函数,请参见资源管理。
目前DataWorks对引擎能力的封装、产品层面对开发能力的支持情况请参见Data Studio概述。
发布工作流
标准模式工作空间下,数据开发界面仅作为任务节点的开发与测试页面,如果您需要将代码发布到生产环境,您可以直接发布该工作流,从而批量发布该工作流下的节点。
周期工作流
手动工作流
单击手动工作流顶部的运行,进入工作流运行页面,测试各节点运行是否成功。
在工作流运行页面,单击顶部的返回工作流,然后单击发布。在发布流程中,依次完成发布包构建、开发检查器、发布到开发环境、生产检查器和发布到生产环境步骤。
说明任务节点发布更多信息,请参见节点发布。
其他操作
补数据及运维
工作流发布后,您可以在发布流程中单击补数据或去运维。
补数据:周期任务开发完成并发布后,任务节点会按照调度配置定时运行。如果您希望补录历史或未来一段时间的数据,写入数据至对应时间分区,可使用补数据功能。更多信息,请参见执行补数据并查看补数据实例(新版)。
去运维:当您在Data Studio中完成任务节点开发,并发布至生产环境后,即可在运维中心对任务进行运维操作,包括周期调度任务的自动调度与手动运行、任务运行详情查看、任务运行状态监控、任务运行使用的资源监控与自动运维;实时任务的执行管控、运行详情查看与监控报警配置;调度任务运维大屏以及数据集成离线同步与实时同步任务运维专页,针对任务运维关键指标的查看。更多信息,请参见运维中心概述。
下线工作流
如果您希望从生产环境和开发环境下线工作流,则可以单击进入下线流程。
下线操作会下线整个工作流以及归属于这个工作流的所有任务节点。
发布历史
您可以单击查看工作流的发布历史。