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

前提条件

  • 通过主账号登录阿里云 E-MapReduce 控制台
    说明 只有主账号才能创建项目、添加项目成员和添加集群资源,即新建项目用户管理集群设置只对主账号管理员可见。
  • 已创建项目或已被加入到项目中,详情请参见项目管理
  • 已编辑好作业,详情请参见作业编辑

新建工作流

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

  1. 单击上方的数据开发
  2. 项目列表页面,单击对应项目右侧的工作流设计
  3. 工作流设计页面,在需要操作的文件夹上单击右键,选择新建工作流
  4. 新建工作流对话框中,输入工作流名称、工作流描述,选择执行集群。
    • 选择当前已存在集群:如果所在项目已关联集群资源,下拉列表中只会出现关联集群,如需选择其他集群,您需要取消项目的关联集群,详情请参见项目管理
    • 选择集群模板:在运行工作流时按照模版内容新建一个临时集群,当工作流运行结束时自动释放,详情请参见集群模板
  5. 单击确定

编辑工作流

通过以下步骤,可以编辑工作流。

  1. 在工作流编辑画布上,将不同类型的作业节点拖拽到画布上,每个作业节点被拖入画布之后需要关联同种作业类型的作业。
  2. 按照作业间的依赖关系,从每个作业节点底部中心拖拽出连线对作业节点进行关联,其中箭头所指方向为工作流的运行方向。
  3. 作业节点关联完成后,从控制节点处拖拽END组件到画布,并与工作流末尾的作业节点进行关联,完成整个工作流的设计。
    编辑工作流

    在编辑工作流时,您可以单击右上角的上锁来为工作流加上编辑锁,此时只有您可以编辑,其项目成员无法编辑和运行该工作流。只有解锁之后,项目中其他成员才可以编辑该作业。

    说明 上锁之后,只有上锁的成员和主账号管理员能够解锁。

配置工作流调度

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

  1. 单击上方的数据开发
  2. 项目列表页面,单击对应项目右侧的工作流设计
  3. 工作流设计页面,单击配置,可以进行工作流调度配置。
  4. 基本属性页签,可修改工作流描述,选择执行集群

    选择当前工作流中各个节点默认的执行集群,有以下两种模式:

    • 选择当前已存在集群: 表示工作流执行时,相关任务会下发到该集群中。
    • 选择集群模板: 表示调度系统在工作流启动时先按模版创建一个集群,然后将作业下发到该集群上执行。在工作流结束后,调度系统会自动释放该集群,详情请参见集群模板
      说明 选择当前已存在集群的下拉列表中只会出现当前项目已关联的集群,如需选择其他集群,您需要取消项目的关联集群,详情请参见项目管理
  5. 基本属性设置完成后,单击调度属性,设置工作流的调度属性。
    配置项 说明
    调度状态 启动或停止工作流调度。开启后,工作流编辑画布上方会出现调度中的状态提示。
    时间属性调度 设置工作流调度的开始时间调度周期,在此时间范围内,系统会根据您设置的周期执行工作流。
    依赖属性调度 选择当前工作流的前续工作流。当前续工作流执行完成后,当前工作流才会被调度执行。
    1. 选择所选项目
    2. 从所选项目中,选择依赖工作流
  6. 调度属性设置完成后,单击告警设置,设置工作流的告警配置项。
    配置项 说明
    执行失败 设置工作流执行失败时,是否通知到用户告警组或钉钉告警组。
    节点失败 设置工作流节点执行失败时,是否通知到用户告警组或钉钉告警组。
    执行成功 设置工作流执行成功时,是否通知到用户告警组或钉钉告警组。
    启动超时 设置如果工作流中有节点在下发到集群后30分钟内还没有启动时,是否通知到用户告警组或钉钉告警组。
    节点执行超时 设置如果节点执行时长超过作业配置里的预期最大运行时长时,是否通知到用户告警组或钉钉告警组。

执行工作流

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

  1. 单击上方的数据开发
  2. 项目列表页面,单击对应项目右侧的工作流设计
  3. 工作流设计页面,单击运行
  4. 配置相关运行参数。
    • 立即运行:选择指定运行时间

      立即运行一个工作流,可以将指定时间作为本工作流的业务时间,时间相关的变量将使用该时间进行计算。

    • 设置时间调度运行:设置开始时间调度周期,勾选跳过成功节点时,如果某个业务时间对应的工作流实例是成功的,将会跳过该业务时间的实例,继续运行其他业务时间失败的工作流实例。

      立即运行一批工作流,设置工作流业务时间的开始时间和调度周期,运行时系统会将指定调度规则的触发时间作为本工作流的业务时间,时间相关的变量将使用该时间进行计算。一次最多支持100个触发时间点。

  5. 单击确定

查看工作流运行记录

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

  1. 单击下方运行记录页签,可以查看工作流实例的运行状态。
  2. 单击工作流实例所在行的详情,将跳转至运维中心查看工作流实例的详细情况,也可以暂停、恢复、停止和重跑工作流实例,详情请参见运维中心
    • 详情:查看工作流实例的详细信息,包括工作流节点实例的详细信息和运行状态。
    • 停止工作流:终止正在运行的工作流实例,所有正在运行的作业节点立即停止。
    • 暂停工作流:暂停正在运行的工作流实例,正在运行的作业节点会继续执行,但后续的作业节点不再执行。
    • 恢复工作流:恢复已被暂停的工作流实例。
    • 重跑工作流:重新运行已经结束的工作流实例。单击重跑后,可以选择只重试失败节点,也可以从头重跑所有节点。

工作流可执行操作

在工作流目录栏中,对工作流名称上单击右键,可以对该工作流进行一些操作。
  • 克隆工作流:在同一文件夹下克隆出相同图形的工作流。
    说明 工作流的调度参数目前无法克隆。
  • 重命名工作流:重新命名工作流的名称。
  • 删除工作流:删除工作流。当工作流在运行状态时无法删除。

问题反馈

如果您在使用阿里云E-MapReduce过程中有任何疑问,欢迎您扫描下面的二维码加入钉钉群进行反馈。

emr_dingding