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

前提条件

新建工作流

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

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

编辑工作流

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

  1. 在工作流编辑画布上,拖拽不同类型的作业节点到画布上。
    每个作业节点被拖入画布后需要关联同种作业类型的作业。
  2. 按照作业间的依赖关系,从每个作业节点底部中心拖拽出连线对作业节点进行关联,其中箭头所指方向为工作流的运行方向。
  3. 关联作业节点后,从控制节点处拖拽END组件到画布,并与工作流末尾的作业节点进行关联,完成整个工作流的设计。
    编辑工作流
    在编辑工作流时,您可以单击右上角的上锁来为工作流加上编辑锁,此时只有您可以编辑,其他项目成员无法编辑和运行该工作流。只有解锁之后,项目中其他成员才可以编辑该作业。
    说明 上锁之后,只有上锁的成员和阿里云账号能够解锁。

配置工作流调度

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

  1. 进入数据开发页签。
    1. 已通过阿里云账号登录阿里云E-MapReduce控制台
      说明 只有阿里云账号才能创建项目、添加项目成员和添加集群资源,即新建项目用户管理集群设置只对阿里云账号可见。
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的数据开发页签。
  2. 项目列表页面,单击对应项目右侧的工作流设计
  3. 工作流设计页面,单击配置
  4. 基本属性页签,可以修改工作流描述、资源组和执行集群。
  5. 基本属性设置完成后,单击调度属性页签,设置工作流的调度属性。
    1. 单击启动
      可以启动工作流调度,调度开启后,工作流编辑画布上方会出现调度中的状态提示。

      默认调度状态停止

    2. 时间属性调度区域,设置工作流调度的开始时间调度周期
      在此时间范围内,系统会根据您设置的周期执行工作流。
    3. 可选:依赖属性调度区域,选择所选项目以及依赖工作流
      您可以选择当前工作流的前续工作流,即前续工作流执行完成后,当前工作流才会被调度执行。
  6. 调度属性设置完成后,单击告警设置,设置工作流的告警配置项。
    配置项 说明
    执行失败 设置工作流执行失败时,是否通知到用户告警组或钉钉告警组。
    节点失败 设置工作流节点执行失败时,是否通知到用户告警组或钉钉告警组。
    执行成功 设置工作流执行成功时,是否通知到用户告警组或钉钉告警组。
    启动超时 设置如果工作流中有节点在下发到集群后30分钟内还没有启动时,是否通知到用户告警组或钉钉告警组。
    节点执行超时 设置如果节点执行时长超过作业配置里的预期最大运行时长时,是否通知到用户告警组或钉钉告警组。

执行工作流

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

  1. 进入数据开发页签。
    1. 已通过阿里云账号登录阿里云E-MapReduce控制台
      说明 只有阿里云账号才能创建项目、添加项目成员和添加集群资源,即新建项目用户管理集群设置只对阿里云账号可见。
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的数据开发页签。
  2. 项目列表页面,单击对应项目右侧的工作流设计
  3. 工作流设计页面,单击运行
  4. 配置相关运行参数。
    • 立即运行:立即运行一个工作流,可以将指定时间作为本工作流的业务时间,时间相关的变量将使用该时间进行计算。
    • 设置时间调度运行:设置开始时间调度周期。打开跳过成功节点开关时,如果某个业务时间对应的工作流实例是成功的,将会跳过该业务时间的实例,继续运行其他业务时间失败的工作流实例。

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

  5. 单击确定

查看工作流运行记录

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

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

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

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

工作流可执行操作

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

问题反馈

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

emr_dingding