创建业务流程

更新时间: 2023-11-02 16:45:47

DataWorks的业务流程开发结构满足根据业务视角来组织数据开发任务的需求,也提供了周期业务流程手动业务流程两种,以满足需要周期性调度和无需周期性调度手动触发运行的场景。本文为您介绍如何创建、设计、提交和查看业务流程,以及批量修改或删除业务流程中的节点。

背景信息

一个工作空间可以支持多种类型的计算引擎,也可以包含多个业务流程,一个业务流程是多种类型对象的集合,对象的类型包括数据集成、MaxCompute、Hologres、EMR等引擎节点(例如MaxCompute的SQL节点、MaxCompute表节点)。

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

周期业务流程与手动业务流程

DataWorks提供了周期业务流程手动业务流程两种,以满足需要周期性调度和无需周期性调度手动触发运行的场景,这两类业务流程均可以在数据开发(DataStudio)中开发对应的开发任务,然后提交到运维中心实现在生产环境运行,对比区分如下。

对比项

周期业务流程

手动业务流程

适用场景

这个业务流程下的所有数据开发任务后续都需要周期性自动运行。

这个业务流程下的所有数据开发任务后续都需要手动触发运行,无需周期性自动运行。

运行方式

周期性自动运行

手动触发

任务开发配置要点

需要配置周期性调度的参数:如周期性调度的定时时间、节点的调度依赖关系等。

由于任务是手动触发运行,因此无需配置与周期性调度相关的参数,如父节点的依赖、本节点的输出、定时时间等。

说明

除手动业务流程无需配置的这些配置要点,其他的配置参数与周期业务流程的配置完全一致,后续文档的任务开发配置均以周期业务流程的场景为例,手动业务流程中的任务,同样的配置参数配置方式一致。

创建入口

业务流程手动业务流程
说明

如果您在左侧导航栏没有找到对应的入口,可参考场景:数据开发定制化展示文档设置DataStudio展示的模块。

创建周期业务流程

数据开发基于业务流程下对应的开发组件进行具体开发操作,所以您创建节点前需要先新建业务流程。创建业务流程前,您可以参考下文的设计业务流程章节,结合自身的业务情况,先规划设计好符合自身业务诉求的业务流程。以下为创建周期业务流程的详细步骤。

  1. 进入数据开发页面。

    登录DataWorks控制台,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 鼠标悬停至新建图标,单击新建业务流程

    业务流程
  3. 新建业务流程对话框中,输入业务名称描述

  4. 单击新建

创建完成后:

设计业务流程

代码开发都基于业务流程进行操作,您可以在具体的业务流程目录树选择具体引擎下的开发组件,新建节点进行开发(列表模式),同时,您也可以选择双击具体的业务流程名,进入业务流程面板进行可视化拖拽式多引擎任务混合编排(基于DAG图可视化拖拽方式)。开发组织结构进行业务流程设计时:

  • 当业务流程中节点个数较多时可能会影响实际运行,建议单个业务流程下节点总数不要超过100个。

    说明

    业务流程中最多创建1000个节点。

  • DAG图模式下,您可以通过拖拽依赖线的方式设置节点调度依赖。当然,您也可以进入节点的调度配置界面,来手动编辑节点依赖关系。详情请参见调度依赖配置指引

  • 列表模式下新建的节点,其业务流程可根据代码血缘关系来设置节点调度依赖,详情请参见调度依赖配置指引

开发业务逻辑

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

在业务流程内,您可以基于同步和引擎计算节点等进行具体的业务流程开发。

  • 您可以在数据集成下,通过离线同步和实时同步组件节点,来将某个数据库的数据同步到另一个数据库。

  • 您可以基于业务流程对应引擎分组下的数据开发节点来进行具体的数据清洗工作,例如MaxCompute引擎下的ODPS SQL节点,如果代码开发过程中需要用到资源或函数,DataWorks也支持您通过可视化的方式来创建资源节点、创建函数节点。

说明
  • 目前DataWorks对引擎能力的封装、产品层面对开发能力的支持情况请参见数据开发概述

  • 节点的调度依赖,调度属性相关配置请参见调度配置

提交业务流程

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

  1. 业务流程设计并完成测试后,单击工具栏中的提交图标。

  2. 提交对话框中,选中需要提交的节点,输入备注信息,并根据业务需求选择是否忽略输入输出不一致的告警。如果您的输入输出内容和代码血缘分析不匹配时,当不勾选忽略输入输出不一致的告警,会产生相应的告警提示,详情请参见提交节点时提示:输入输出和代码血缘分析不匹配

  3. 单击提交

    说明

    如果您的节点已经提交过,在不改变节点内容的情况下,无法再次选择节点。此时输入备注后单击提交即可,节点属性等改动会被正常提交。

  4. 任务发布,详情请参见标准模式工作空间任务发布流程

查看业务流程运行历史

您可进入数据开发(DataStudio)的运行历史页面,查看当前登录账号近三天在数据开发界面运行过的所有任务记录。

任务在数据开发(DataStudio)运行后,将下发至对应引擎的服务执行,即使在任务运行过程中,您不小心将任务关闭,该任务仍会继续执行。您可进入运行历史页面,查看任务运行日志或停止已经下发执行的任务。

查看所有的业务流程

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

单击某个看板,即可进入相应的业务流程看板。查看业务流程

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

您可以自定义组合业务流程为一个解决方案,解决方案支持:

  • 包含多个业务流程。

  • 解决方案之间可以复用相同的业务流程。

  • 自定义组合而成的解决方案,可以让您进行沉浸式开发。

通过解决方案管理业务流程时,您可以:

  • 在DataStudio界面左侧导航栏底部单击设置图标,默认进入设置 > 个人设置页面,文件管理模块选择显示解决方案添加解决方案

  • 通过解决方案修改面板批量添加业务流程。修改解决方案

删除业务流程中的节点

通过批量功能删除

如果您需要批量修改任务调度属性(例如,批量修改任务使用的资源组),或批量提交评审等操作,您可以使用批量操作功能,批量操作支持使用节点类型、业务流程、调度资源组等条件进行筛选,批量处理目标节点。

说明

批量操作仅修改开发环境该任务属性,若需要任务变更操作在生产环境生效,您需要在批量操作后,前往任务发布界面将这些修改操作发布至生产环境执行。

  1. 数据开发页面,单击业务流程后的任务列表图标,进入任务列表页面。进入任务列表

  2. 修改或删除目标节点。修改或删除目标任务

    1. 您可以根据节点名称/ID节点类型业务流程等条件,筛选相应类型的节点。

    2. 选中需要处理的部分或全部节点。

    3. 修改或删除目标节点。

      • 修改目标节点:当前仅支持批量修改目标节点的责任人及调度资源组。单击修改责任人修改调度资源组进行修改。

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

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

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

通过节点组功能删除

使用节点组功能可以实现新建、引用、拆分及删除节点组,详情请参见使用节点组

快速复制业务流程

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

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

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

阿里云首页 大数据开发治理平台 DataWorks 相关技术圈