业务流程能够根据业务类别组织不同类型的节点,以业务为单元开发代码。本文为您介绍如何创建、设计、提交和查看业务流程,以及批量修改或删除业务流程中的节点。

背景信息

一个工作空间可以支持多种类型的计算引擎,也可以包含多个业务流程。一个业务流程是多种类型对象的集合,对象的类型包括数据集成、数据开发、表、资源、函数和算法等。

每种对象类型对应一个独立的文件夹,在每个对象类型文件夹下,支持继续创建子文件夹。为了便于管理,建议子文件夹的层数不要超过4层。 如果超过4层,可能说明您规划的业务流程结构过于复杂,建议将该业务流程拆分成两个或多个业务流程,并将相关的业务流程收纳到一个解决方案中进行管理,提升工作效率。

开发组织结构

您可以基于包括工作空间 > 解决方案 > 业务流程三级结构,对业务进行划分,您可以基于公司部门、公司业务或数仓层次进行规划分组。
结构层级 特征 定位
工作空间 不同的工作空间可以有不同的管理员、不同的内部成员,各工作空间拥有完全独立的成员角色设定以及引擎实例的各项参数开关。关于工作空间的规划请参见规划工作空间 DataWorks支持的最大业务划分粒度,权限组织的基本单位,用来控制您的开发、运维等权限。工作空间内成员的所有代码均可以协同开发管理。
解决方案 您可以将一类业务流程划分为一个解决方案进行统筹管理,同时一个业务流程也可以被多个解决方案复用,您只需要开发自己的解决方案。其他人可以在其它解决方案或业务流程中,直接编辑您引用的业务流程,构成协同开发。 业务整合。
业务流程 业务的抽象实体,让您能够以业务的视角来组织数据代码开发。工作空间之间的业务流程、任务节点独立开发,互不影响。
业务流程两种形态,目录树与面板,让您从业务视角组织代码,资源类别更明确,业务逻辑更清晰。
  • 目录树结构提供基于任务类型的代码组织方式。
  • 业务流程面板提供流程化的业务逻辑展现方式。
具体的代码开发、资源组织单位。
开发组织结构数据开发基于业务流程下对应的节点进行开发操作,您可以在业务流程面板下新建一个或多个业务流程,每个业务流程按照引擎类型进行分组,每个引擎分组下再对数据开发类型节点、表、资源、函数进行一步分组,即一类业务使用的组件(节点、表、资源、函数)统筹在一个业务流程中,业务流程下仅展示当前业务流程中使用的组件。
  • 在DataWorks上,具体的数据开发工作是基于业务流程开展的,所以您需要先新建业务流程,再进行后续的开发工作。
  • 所有生产环境调度节点的代码变更都需要在数据开发界面修改完成后走发布流程进行发布。
说明
  • 如果您工作空间下无可用的引擎或目录树上对应引擎不可见,请在工作空间配置界面确认是否已经开通并绑定对应引擎服务。业务流程下仅展示当前工作空间下已经绑定的引擎服务,引擎绑定详情可参考文档:配置工作空间
  • 如果您无法操作部分功能,或者没有新建入口,请在工作空间配置的成员管理处确认是否有开发权限(即操作账号是否为阿里云主账号、是否被授予开发角色或空间管理员),或查看当前开通的DataWorks版本是否为要求的版本。
  • 如果目录文件超过4级,可能说明您规划的业务流程结构过于复杂,建议将该业务流程拆分成两个或多个业务流程,并将相关的业务流程收纳到一个解决方案中进行管理,提升工作效率。

创建业务流程

数据开发基于业务流程下对应的开发组件进行具体开发操作,所以您创建节点前需要先新建业务流程。

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 鼠标悬停至新建图标,单击业务流程
    业务流程
  3. 新建业务流程对话框中,输入业务名称描述
    注意 业务名称必须是大小写字母、中文、数字、下划线(_)以及小数点(.),且不能超过128个字符。
  4. 单击新建

设计业务流程

代码开发都基于业务流程进行操作,您可以在具体的业务流程目录树选择具体引擎下的开发组件,新建节点进行开发(列表模式),同时,您也可以选择双击具体的业务流程名,进入业务流程面板进行可视化拖拽式多引擎任务混合编排(基于DAG图可视化拖拽方式)。开发组织结构进行业务流程设计时:
  • 建议单个业务流程下节点总数不要超过100个。
  • DAG图模式下,您可以通过拖拽依赖线的方式设置节点调度依赖。当然,您也可以进入节点的调度配置界面,来手动编辑节点依赖关系。详情请参见同周期调度依赖逻辑说明
  • 列表模式下新建的节点,其业务流程可根据代码血缘关系来设置节点调度依赖,详情请参见同周期调度依赖逻辑说明

开发业务逻辑

DataWorks将引擎能力进行封装,您可以基于引擎节点进行数据开发,无需接触复杂的引擎命令行,同时您也可以结合平台提供的通用类型节点进行复杂逻辑处理。

在业务流程内,您可以基于同步和计算节点等组件进行具体的业务流程开发。
  • 您可以在数据集成下,通过离线同步和实时同步组件节点,来将您其他数据库的数据同步到另一个库。
  • 您可以基于业务流程该引擎分组下的数据开发来进行具体的数据清洗工作,如果代码开发过程中需要用到资源或函数,DataWorks也支持您通过可视化的方式来新增资源、注册函数。
说明
  • 目前DataWorks对引擎能力的封装、产品层面对开发能力的支持情况请参见选择数据开发节点
  • 节点的调度依赖,调度属性相关配置请参见调度配置

提交业务流程

标准模式工作空间下,数据开发界面仅作为节点任务的开发与测试页面,如果您需要将代码发布到生产环境,您可以批量提交该业务流程下的节点,并进入任务发布界面批量发布该业务流程下的节点项。

  1. 业务流程设计并完成测试后,单击工具栏中的提交图标。
  2. 提交对话框中,选中需要提交的节点,输入备注信息,并根据业务需求选择是否忽略输入输出不一致的告警。如果您的输入输出内容和代码血缘分析不匹配时,当不勾选忽略输入输出不一致的告警,会产生相应的告警提示,详情请参见提交节点时提示:输入输出和代码血缘分析不匹配
    提交
  3. 单击提交
    说明 如果您的节点已经提交过,在不改变节点内容的情况下,无法再次选择节点。此时输入备注后单击提交即可,节点属性等改动会被正常提交。

查看所有的业务流程

数据开发页面,右键单击业务流程,选择全部业务流程看板,查看该工作空间下所有的业务流程。全部业务流程
单击某个看板,即可进入相应的业务流程看板。查看业务流程

基于解决方案管理业务流程

您可以自定义组合业务流程为一个解决方案,解决方案支持:
  • 包含多个业务流程。
  • 解决方案之间可以复用相同的业务流程。
  • 自定义组合而成的解决方案,可以让您进行沉浸式开发。
通过解决方案管理业务流程时,您可以:
  • 将单个业务流程纳入到具体的解决方案中。添加到解决方案
  • 通过解决方案修改面板批量添加业务流程。修改解决方案

批量修改或删除业务流程的节点

如果您需要批量修改或删除项目空间中某一类别的节点(例如,修改所有离线同步节点),则可以在业务流程任务列表页面,使用节点类型业务流程调度资源组等条件进行筛选,批量处理目标节点。
说明 当前仅支持批量修改目标节点的责任人及调度资源组。
  1. 数据开发页面,单击业务流程后的任务列表图标,进入任务列表页面。进入任务列表
  2. 修改或删除目标节点。修改或删除目标任务
    1. 您可以根据节点名称/ID节点类型业务流程等条件,筛选相应类型的节点。
    2. 选中需要处理的部分或全部节点。
    3. 修改或删除目标节点。
      • 修改目标节点:当前仅支持批量修改目标节点的责任人及调度资源组。单击修改责任人修改调度资源组进行修改。

        当修改对话框中,强制修改参数配置为时,您可以修改所有选中的节点,当该参数配置为时,您只能修改自己锁定的节点,而不能修改他人锁定的节点。

      • 删除目标节点:单击更多 > 删除,删除选中的节点。

        删除节点对话框中,强制删除参数配置为时,您可以删除所有选中的节点,当该参数配置为时,您只能删除自己锁定的节点,而不能删除他人锁定的节点。

快速复制业务流程

您可以通过节点组的功能快速将某一个业务流程组成一个节点组,然后在新业务流程中引用该节点组,详情可参见节点组

快速导入导出多个业务流程至其他DataWorks工作空间或其他开源引擎

如果您需要快速、批量导出DataWorks工作空间的多个业务流程,并将业务流程导入至其他DataWorks工作空间或其他开源引擎,则可以使用DataWorks的迁移助手功能,详情请参见概述