阅读369 返回首页    go iPhone_iPad_Mac_apple


工作流设计器__数据开发手册_用户操作指南_大数据开发套件-阿里云

设计器介绍

工作流是由多个节点和节点间的依赖关系所组成的一组逻辑和规则,形成一张有向无环图(DAG图)。开发者可通过数据开发>开发面板>新建或数据开发>管理面板>新建工作流来新建工作流进入工作流设计器,在工作流设计器中通过拖拽不同类型节点并连线的方式来开发一个工作流。如下图所示:

工作流设计器

工作流设计器各区域具体介绍如下:

1-工作流选项卡:显示当前打开的工作流,可切换和关闭。

  • 鼠标悬浮会显示完整工作流名称。

  • 鼠标点击可以左右拖拽变换选项卡位置。

  • 最多能同时打开10个工作流或任务,可通过“更多操作”来关闭所有、关闭其他、关闭额外(隐藏的选项卡)的工作流。

  • 当工作流选项卡有小圆点时表示该工作流有变更但未保存。

2-工具:工作流设计器中常用的操作。

序号 标识 标识说明
0 新建 新建文件,包括工作流任务、脚本文件、数据表。
1 保存 保存当前工作流变更,支持快捷键:ctrl+s。
2 提交 提交当前工作流到调度系统,提交成功后会释放锁定。同时,提交成功工作流里有变更的节点就会新增一个版本。
3 测试运行 工作流提交后,可以在此冒烟运行工作流,功能等同运维中心工作流测试。
4 删除 点击删除工作流选中的节点。
5 格式化 工作流DAG图自动布局显示。
6 全屏 工作区全屏。
7 前往运维调度系统 ,点击跳转至运维中心任务管理视图。
8 放大/缩小 放大/缩小工作流DAG图。
9 搜索 搜索工作流中的节点,达到快速定位。

3-节点组件:工作流设计器支持的节点组件类型,您可点击节点组件拖拽至开发面板或者双击节点组件进行创建该类型节点。

  • ODPS SQL类型

ODPS SQL采用的是类似于SQL的语法,可以看作是标准SQL的子集,但不能因此简单的把ODPS SQL等价成一个数据库,它在很多方面并不具备数据库的特征,如事务、主键约束、索引等。

  • OPEN MR类型

ODPS提供了MapReduce编程接口。用户可以使用MapReduce提供的接口(Java API)编写MapReduce程序处理ODPS的中的数据。在阿里云数加平台-数据开发中OPEN MR节点(或任务)需要与资源一同使用。

该类型节点需要工单提交申请,给项目对应计算引擎odps project开通后才可用。

  • 数据同步

数据同步节点任务是阿里云数加平台对外提供的稳定高效、弹性伸缩的数据同步云服务。用户利用数据同步节点可以轻松地将业务系统数据同步到ODPS上来。

  • 机器学习

机器学习节点用来调用机器学习平台中构建的任务,并按照节点配置进行调度生产。

  • Shell脚本

Shell节点支持标准的Shell语法,不支持交互式语法。

项目默认没有该类型节点,需申请开通,具体参见常见问题中“怎么开通shell类型任务?”的描述。

  • 虚拟节点(virtual)

虚拟节点属于控制类型节点,即,其不产生任何数据的空跑节点,常用于工作流统筹节点的根节点。

示例:输出表由3个数据同步任务导入的源表经过ODPS SQL任务加工产出,这3个数据同步任务没有依赖关系,ODPS SQL任务需要依赖3个同步任务,则工作流可以为如图所示:

用一个虚拟节点作为工作流起始根节点,3个数据同步任务依赖虚拟节点,ODPS SQL加工任务依赖3个同步任务。

4-开发面板:工作流设计器的开发面板,展示当前工作流包含的节点及上下游依赖关系。

  • 选择节点可拖拽变更其坐标位置。

  • 鼠标点击画布空白区可拖拽整个DAG图的坐标位置。

  • 可通过鼠标连线的方式来创建上下游依赖关系。当鼠标放至父节点底部突出的小圆点时鼠标将呈十字型,此时可以点击引出连线并拖拽线到子节点图上松开,即可完成节点节点依赖关系配置。

  • 选中节点右键可以查看节点代码(进入代码编辑区)、保存节点、删除节点。当工作流处于锁定状态时,右键菜单只有查看节点代码选项。

  • 鼠标对节点依赖线右键可以删除依赖线即删除两个节点的依赖关系。

  • 双击节点可以进入节点代码编辑区。

5-节点选项卡:当前打开的节点代码或配置。

6-调度配置:包括工作流调度配置和节点调度配置的配置。

  • 工作流调度配置,主要是配置工作流各种调度属性。

  • 节点调度配置,鼠标单击选中某个节点后会出现节点属性组件,主要是配置节点基本属性。

调度配置

工作流任务是一个DAG图(有向无环图),其描述了作业中多个节点之间的逻辑(依赖关系)和规则(运行约束)。

节点任务是一个可独立调度的任务,也可以通过任务属性配置节点任务与节点任务或者节点任务与工作流任务之间的逻辑(依赖关系)和规则(运行约束)。

工作流属性配置包括基本属性调度属性依赖属性跨周期依赖四大部分。

基本属性

  • 工作流名称:新建工作流时填写的工作流名称,不支持修改。

  • 责任人:默认为当前登录人,也可以修改成本项目其他成员。只有当前负责人以及管理员可以修改。

  • 描述:新建工作流时填写的描述,支持修改。

调度属性

  • 调度状态:是否勾选暂停,默认不勾选。任务暂停后,每天都会自动调度但是实例会直接返回失败状态,不会真正的运行任务逻辑。

  • 调度生效日期:调度将在有效日期内生效并自动调度,反之,在有效期外的工作流将不会自动调度,也不能手动调度。

  • 调度周期:设置工作流调度频次,支持天/周/月/分钟/小时

【说明】当创建一次性调度工作流任务时,工作流不具备调度属性配置选项;只有创建周期性调度工作流任务时,工作流任务才具有调度属性配置选项。

依赖属性

  • 自动推荐:系统自动扫描节点代码解析出来源和目标表从而推荐来源表是从哪个任务产出,只有SQL类型节点任务和工作流任务有这个功能,同时也只能解析到SQL任务产出的表。

  • 所属项目:当前组织内所有项目空间,可在下拉列表中进行选择。

  • 上游任务:对应所属项目空间中的任务,用来设置当前任务的上游任务,非必填项。支持工作流名称模糊匹配查询。

【说明】当前工作流/节点任务调度执行时,需满足如下条件:

1)若当前工作流/节点任务存在上游,则需上游执行并返回成功后,且自身定时时间已到或已过才会触发当前节点/工作流调度执行。

2)若当前工作流/节点不存在上游,只需满足自身定时时间这一个条件即可调度执行。

跨周期依赖

配置节点/工作流任务的跨周期依赖,如,天调度任务今天需要执行的数据依赖本任务昨天执行的数据,那么可以配置依赖任务昨天的周期,如此,昨天的实例必须先执行成功,今天的实例才可以调度起来,这种依赖主要是体现在任务调度实例的依赖。

  • 不依赖上一调度周期。所有任务默认选择该选项,即不依赖任何任务的上周期实例。
  • 自依赖,等待上一调度周期结束,才能继续运行。使用场景:任务A当前周期数据来源依赖与任务A上周期执行的结果;或者小时/分钟调度任务A不允许实例并行。
  • 等待下游任务的上一周期结束,才能继续运行。依赖第一层子任务的上周期。这种使用场景不多,选择此项,后续该任务一旦被其他任务直接依赖则实例都依赖所有第一层子任务的上周期实例。
  • 等待自定义任务的上一周期结束,才能继续运行。常见场景:天任务A依赖一个数据是天任务B昨天产出的。

【说明】

1)依赖属性配置的调度依赖是同周期依赖和跨周期依赖不冲突。任务A可以配置依赖属性依赖任务B也可以配置跨周期依赖依赖B,如此任务A即依赖任务B本周期也依赖任务B上周期。

2)若任务A是小时/分钟调度,任务B为天调度,任务B配置依赖任务A的上周期,那么当天B任务的实例会依赖A任务昨天所有实例。

3)若任务A和B都是小时/任务调度,调度周期一样,任务B配置依赖任务A的上周期,则任务B每个实例都将依赖A昨天所有实例和A与B同周期的前一个周期实例。

4)如天任务A配置跨周期依赖B的上周期,那么对A任务进行补数据的时候,补数据实例会去依赖B任务自动调度上周期实例,如果自动调度的上周期实例不存在则不依赖。

节点调度配置

节点属于工作流的子对象,也称之为任务,是阿里云数加平台数据处理和分析过程的最基本单元,每个任务对应DAG图中的一个节点,其可以是一个SQL Query命令和MapReduce程序等。

在工作流设计器中,节点可以是节点组件(ODPS SQL、OPEN MR、数据同步、SHELL、机器学习、虚节点)中的一种,您在工作流开发面板中选中节点并展开节点属性配置,如下图:

节点属性配置包括基本属性节点版本两大部分。

基本属性

  • 节点名称:新建节点时填写的节点名称,不支持修改。

  • 责任人:默认为当前用户,也可以修改成本项目其他成员。只有当前负责人可以修改责任人。

  • 节点类型:当前节点的类型,不支持修改。

  • 描述:新建节点时填写的描述,支持修改。

节点版本

节点每修改提交一次都将产生一个版本。节点版本则显示节点的历史版本列表,包括版本号、提交人、提交时间、描述和操作。目前只针对ODPS SQL、SHELL、OPEN MR三种类型节点的版本。也可以勾选两个版本进行代码对比。

最后更新:2016-11-24 11:23:48

  上一篇:go 文件目录__数据开发手册_用户操作指南_大数据开发套件-阿里云
  下一篇:go ODPS代码编辑器__数据开发手册_用户操作指南_大数据开发套件-阿里云