DataWorks的业务流程开发结构满足根据业务视角来组织数据开发任务的需求,也提供了周期业务流程和手动业务流程两种,以满足需要周期性调度和无需周期性调度手动触发运行的场景。本文为您介绍如何创建、设计、提交和查看业务流程,以及批量修改或删除业务流程中的节点。
背景信息
一个工作空间可以支持多种类型的计算引擎,也可以包含多个业务流程,一个业务流程是多种类型对象的集合,对象的类型包括数据集成、MaxCompute、Hologres、EMR等引擎节点(例如MaxCompute的SQL节点、MaxCompute表节点)。
每种对象类型对应一个独立的文件夹,在每个对象类型文件夹下,支持继续创建子文件夹。为了便于管理,建议子文件夹的层数不要超过4层。 如果超过4层,可能说明您规划的业务流程结构过于复杂,建议将该业务流程拆分成两个或多个业务流程,并将相关的业务流程收纳到一个解决方案中进行管理,提升工作效率。
周期业务流程与手动业务流程
DataWorks提供了周期业务流程和手动业务流程两种,以满足需要周期性调度和无需周期性调度手动触发运行的场景,这两类业务流程均可以在数据开发(DataStudio)中开发对应的开发任务,然后提交到运维中心实现在生产环境运行,对比区分如下。
对比项 | 周期业务流程 | 手动业务流程 |
适用场景 | 这个业务流程下的所有数据开发任务后续都需要周期性自动运行。 | 这个业务流程下的所有数据开发任务后续都需要手动触发运行,无需周期性自动运行。 |
运行方式 | 周期性自动运行 | 手动触发 |
任务开发配置要点 | 需要配置周期性调度的参数:如周期性调度的定时时间、节点的调度依赖关系等。 | 由于任务是手动触发运行,因此无需配置与周期性调度相关的参数,如父节点的依赖、本节点的输出、定时时间等。 说明 除手动业务流程无需配置的这些配置要点,其他的配置参数与周期业务流程的配置完全一致,后续文档的任务开发配置均以周期业务流程的场景为例,手动业务流程中的任务,同样的配置参数配置方式一致。 |
创建入口 |
如果您在左侧导航栏没有找到对应的入口,可参考场景:数据开发定制化展示文档设置DataStudio展示的模块。
创建周期业务流程
数据开发基于业务流程下对应的开发组件进行具体开发操作,所以您创建节点前需要先新建业务流程。创建业务流程前,您可以参考下文的设计业务流程章节,结合自身的业务情况,先规划设计好符合自身业务诉求的业务流程。以下为创建周期业务流程的详细步骤。
进入数据开发页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据开发。
鼠标悬停至图标,单击新建业务流程。
在新建业务流程对话框中,输入业务名称和描述。
单击新建。
创建完成后:
您可以在业务流程下的对应引擎下开始任务开发工作,可参考下文的开发业务逻辑了解通用的任务开发思路
任务开发完成后,您可以直接提交业务流程,将任务提交发布至生产环境,详情请参见提交业务流程。
同时您也可以在各页面对业务流程并进行管理操作,详情请参见查看所有的业务流程、删除业务流程中的节点、快速复制业务流程、快速导入导出多个业务流程至其他DataWorks工作空间或其他开源引擎。
设计业务流程
代码开发都基于业务流程进行操作,您可以在具体的业务流程目录树选择具体引擎下的开发组件,新建节点进行开发(列表模式),同时,您也可以选择双击具体的业务流程名,进入业务流程面板进行可视化拖拽式多引擎任务混合编排(基于DAG图可视化拖拽方式)。进行业务流程设计时:
开发业务逻辑
DataWorks将引擎能力进行封装,您可以基于引擎节点进行数据开发,无需接触复杂的引擎命令行,同时您也可以结合平台提供的通用类型节点进行复杂逻辑处理。
提交业务流程
标准模式工作空间下,数据开发界面仅作为节点任务的开发与测试页面,如果您需要将代码发布到生产环境,您可以批量提交该业务流程下的节点,并进入任务发布界面批量发布该业务流程下的节点项。
业务流程设计并完成测试后,单击工具栏中的图标。
在提交对话框中,选中需要提交的节点,输入备注信息,并根据业务需求选择是否忽略输入输出不一致的告警。如果您的输入输出内容和代码血缘分析不匹配时,当不勾选忽略输入输出不一致的告警,会产生相应的告警提示,详情请参见提交节点时提示:输入输出和代码血缘分析不匹配。
单击提交。
说明如果您的节点已经提交过,在不改变节点内容的情况下,无法再次选择节点。此时输入备注后单击提交即可,节点属性等改动会被正常提交。
任务发布,详情请参见标准模式工作空间任务发布流程。
查看业务流程运行历史
您可进入数据开发(DataStudio)的运行历史页面,查看当前登录账号近三天在数据开发界面运行过的所有任务记录。
任务在数据开发(DataStudio)运行后,将下发至对应引擎的服务执行,即使在任务运行过程中,您不小心将任务关闭,该任务仍会继续执行。您可进入运行历史页面,查看任务运行日志或停止已经下发执行的任务。
查看所有的业务流程
在数据开发页面,右键单击业务流程,选择全部业务流程看板,查看该工作空间下所有的业务流程。
单击某个看板,即可进入相应的业务流程看板。
基于解决方案管理业务流程
您可以自定义组合业务流程为一个解决方案,解决方案支持:
包含多个业务流程。
解决方案之间可以复用相同的业务流程。
自定义组合而成的解决方案,可以让您进行沉浸式开发。
通过解决方案管理业务流程时,您可以:
在DataStudio界面左侧导航栏底部单击图标,默认进入
页面,文件管理模块选择显示解决方案。通过解决方案修改面板批量添加业务流程。
删除业务流程中的节点
通过批量功能删除
如果您需要批量修改任务调度属性(例如,批量修改任务使用的资源组),或批量提交评审等操作,您可以使用批量操作功能,批量操作支持使用节点类型、业务流程、调度资源组等条件进行筛选,批量处理目标节点。
批量操作仅修改开发环境该任务属性,若需要任务变更操作在生产环境生效,您需要在批量操作后,前往任务发布界面将这些修改操作发布至生产环境执行。
在数据开发页面,单击业务流程后的图标,进入任务列表页面。
修改或删除目标节点。
您可以根据节点名称/ID、节点类型、业务流程等条件,筛选相应类型的节点。
选中需要处理的部分或全部节点。
修改或删除目标节点。
修改目标节点:当前仅支持批量修改目标节点的责任人及调度资源组。单击修改责任人或修改调度资源组进行修改。
当修改对话框中,强制修改参数配置为是时,您可以修改所有选中的节点,当该参数配置为否时,您只能修改自己锁定的节点,而不能修改他人锁定的节点。
删除目标节点:单击
,删除选中的节点。当删除节点对话框中,强制删除参数配置为是时,您可以删除所有选中的节点,当该参数配置为否时,您只能删除自己锁定的节点,而不能删除他人锁定的节点。
通过节点组功能删除
使用节点组功能可以实现新建、引用、拆分及删除节点组,详情请参见使用节点组。
快速复制业务流程
您可以通过节点组的功能快速将某一个业务流程组成一个节点组,然后在新业务流程中引用该节点组,详情可参见使用节点组。
快速导入导出多个业务流程至其他DataWorks工作空间或其他开源引擎
如果您需要快速、批量导出DataWorks工作空间的多个业务流程,并将业务流程导入至其他DataWorks工作空间,则可以使用DataWorks的迁移助手功能,详情请参见概述。