在E-MapReduce数据开发项目中,您可以在作业编辑中定义一组有依赖的作业,然后创建工作流,使作业按照依赖依次执行。E-MapReduce工作流支持基于有向无环图(DAG)并行执行大数据作业,您可以通过E-MapReduce控制台管控工作流调度以及查看工作流的执行状态。

背景信息

本文为您提供工作流编辑的相关操作介绍,具体如下:

前提条件

新建工作流

通过以下步骤,可以新建工作流。

  1. 进入数据开发的项目列表页面。
    1. 通过阿里云账号登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的数据开发页签。
  2. 项目列表页面,单击目标项目右侧的工作流设计
  3. 新建工作流。
    1. 工作流设计区域,在需要操作的文件夹上单击右键,选择新建工作流
    2. 新建工作流对话框中,填写工作流名称工作流描述,选择资源组和执行集群。
      在选择执行集群时,可以做如下选择:
      • 选择当前已存在集群:表示工作流执行时,相关任务会下发到该集群中。
      • 选择集群模板:表示调度系统在工作流启动时先按模版创建一个集群,然后将作业下发到该集群上执行。在工作流结束后,调度系统会自动释放该集群,详情请参见创建集群模板
        说明 选择当前已存在集群的下拉列表中只会出现当前项目已关联的集群,如需选择其他集群,您需要取消项目的关联集群,详情请参见项目管理
    3. 单击确定
      工作流创建成功后,就可以进行工作流编辑和配置等操作。

编辑工作流

  1. 在工作流编辑画布上,根据业务情况拖拽作业节点到画布上。
    每个作业节点被拖入画布后,在节点编辑面板可以做如下配置。
    配置项 描述
    关联作业 需要关联对应作业类型的作业。
    自定义作业配置 根据业务情况打开或者关闭自定义作业配置
    • 打开:您可以选择该作业节点的执行集群
    • 关闭(默认):该作业节点的任务会下发到在工作流的执行集群上。
  2. 设置作业间的依赖关系。
    按照作业间的依赖关系,从每个作业节点底部中心拖拽出连线对作业节点进行关联,其中箭头所指方向为工作流的运行方向。
  3. 设置控制节点,完成整个工作流的设计。
    控制节点区域拖拽END节点到画布,将START节点与工作流开始的作业节点关联,END节点与工作流结束的作业节点关联,完成整个工作流的设计。您可以单击右上角自动布局,调整工作流节点的展示。编辑工作流
    在编辑工作流时,您可以单击右上角的上锁来为工作流加上编辑锁,此时只有您可以编辑,其他项目成员无法编辑和运行该工作流。只有解锁之后,项目中其他成员才可以编辑该作业。
    说明 上锁之后,只有上锁的成员和阿里云账号能够解锁。

配置工作流调度

您可以打开工作流调度配置面板,配置工作流调度参数,调度系统会按照参数定时运行相关工作流,并将作业下发到指定集群上执行。以下介绍如何配置工作流的基本属性、调度属性和告警设置。

  1. 进入数据开发的项目列表页面。
    1. 通过阿里云账号登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的数据开发页签。
  2. 项目列表页面,单击目标项目右侧的工作流设计
  3. 在右侧工作流区域,单击配置
  4. 工作流调度配置面板的基本属性页签下,您可以修改工作流描述,选择资源组和执行集群。
  5. 工作流调度配置面板,单击调度属性页签,设置工作流的调度属性。
    配置项 说明
    调度状态 支持的调度状态如下:
    • 启动:可以启动工作流调度。调度开启后,工作流编辑画布上方会出现调度中的状态提示。
    • 停止:调度状态为停止。
    时间属性调度 开始时间 工作流调度的开始时间。
    结束时间 可选,工作流调度的结束时间。
    调度周期 工作流调度的周期。
    CRON表达式 工作流调度周期的CRON表达式。
    依赖调度属性 所属项目 可选,当前工作流的前序工作流所属的项目。
    依赖工作流 可选,当前工作流的前序工作流,即前序工作流执行完成后,当前工作流才会被调度执行。
  6. 工作流调度配置面板,单击告警设置页签,设置工作流的告警配置项。
    配置项 说明
    执行失败 设置工作流执行失败时,是否通知到用户告警组或钉钉告警组。
    节点失败 设置工作流节点执行失败时,是否通知到用户告警组或钉钉告警组。
    执行成功 设置工作流执行成功时,是否通知到用户告警组或钉钉告警组。
    启动超时 设置如果工作流中有节点在下发到集群后30分钟内还没有启动时,是否通知到用户告警组或钉钉告警组。
    节点执行超时 设置如果节点执行时长超过作业配置里的预期最大运行时长时,是否通知到用户告警组或钉钉告警组。

执行工作流

您也可以指定工作流的业务时间,此时工作流作业中的时间相关变量将使用指定的业务时间进行计算,一般用于重跑某个时间段的工作流实例,可以设置单次重跑或批量重跑。如果您的作业中没有任何时间相关变量,可以选择在当前时间立即执行,即可运行工作流。

  1. 进入数据开发的项目列表页面。
    1. 通过阿里云账号登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的数据开发页签。
  2. 项目列表页面,单击目标项目右侧的工作流设计
  3. 运行工作流。
    1. 工作流设计页面,单击运行
    2. 运行工作流对话框中,配置相关运行信息。
      您可以根据业务情况,选择运行方式。支持的运行方式有立即执行设置时间调度运行,两种运行方式的具体情况如下表。
      运行方式 说明
      立即执行 立即运行一个工作流,可以将指定运行时间作为本工作流的业务时间,时间相关的变量将使用该时间进行计算。
      设置时间调度运行 立即运行一批工作流,将指定调度规则的触发时间作为本工作流的业务时间,时间相关的变量将使用该时间进行计算。一次最多支持100个触发点。您需要设置的信息如下:
      • 开始时间:工作流调度的开始时间。
      • 结束时间:可选,工作流调度的结束时间。
      • 调度周期:工作流调度的周期。
      • CRON表达式:设置调度周期后的CRON表达式。
      • 跳过成功节点:您可以根据业务情况选择是否打开跳过成功节点。打开该开关后,如果某个业务时间对应的工作流实例是成功的,将会跳过该业务时间的实例,继续运行其他业务时间的工作流实例。
    3. 单击确定

查看工作流运行记录

运行工作流后,可通过以下步骤查看工作流运行记录。

  1. 工作流设计页面,单击下方运行记录页签。
    您可以查看工作流实例的运行状态。
  2. 单击工作流实例所在行的详情,跳转至运维中心

    您可以查看工作流实例的详细情况,也可以暂停、恢复、停止和重跑工作流实例,详情请参见运维中心

    功能 说明
    详情 查看工作流实例的详细信息,包括工作流节点实例的详细信息和运行状态。
    停止工作流 终止正在运行的工作流实例,所有正在运行的作业节点立即停止。
    暂停工作流 暂停正在运行的工作流实例,正在运行的作业节点会继续执行,但后续的作业节点不再执行。
    恢复工作流 恢复已被暂停的工作流实例。
    重跑工作流实例 重新运行已经结束的工作流实例。单击重跑工作流实例后,可以选择只重试失败节点,也可以从头重跑所有节点。

工作流可执行操作

工作流设计区域,您可以在工作流名称上单击右键,执行如下操作。
操作 说明
克隆工作流 在同一文件夹下克隆出相同图形的工作流。
说明 工作流的调度参数目前无法克隆。
重命名工作流 重新命名工作流的名称。
删除工作流 删除工作流。当工作流在运行状态时无法删除。