在E-MapReduce数据开发项目中,您可以在作业编辑中定义一组有依赖的作业,然后创建工作流,使作业按照依赖依次执行。E-MapReduce工作流支持基于有向无环图(DAG)并行执行大数据作业,您可以通过E-MapReduce控制台管控工作流调度以及查看工作流的执行状态。
背景信息
前提条件
新建工作流
通过以下步骤,可以新建工作流。
- 进入数据开发的项目列表页面。
- 通过阿里云账号登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的数据开发页签。
- 在项目列表页面,单击目标项目右侧的工作流设计。
- 新建工作流。
- 在工作流设计区域,在需要操作的文件夹上单击右键,选择新建工作流。
- 在新建工作流对话框中,填写工作流名称和工作流描述,选择资源组和执行集群。
- 单击确定。
工作流创建成功后,就可以进行工作流编辑和配置等操作。
编辑工作流
- 在工作流编辑画布上,根据业务情况拖拽作业节点到画布上。
每个作业节点被拖入画布后,在节点编辑面板可以做如下配置。
配置项 描述 关联作业 需要关联对应作业类型的作业。 自定义作业配置 根据业务情况打开或者关闭自定义作业配置。 - 打开:您可以选择该作业节点的执行集群。
- 关闭(默认):该作业节点的任务会下发到在工作流的执行集群上。
- 设置作业间的依赖关系。
按照作业间的依赖关系,从每个作业节点底部中心拖拽出连线对作业节点进行关联,其中箭头所指方向为工作流的运行方向。
- 设置控制节点,完成整个工作流的设计。
从控制节点区域拖拽END节点到画布,将START节点与工作流开始的作业节点关联,END节点与工作流结束的作业节点关联,完成整个工作流的设计。您可以单击右上角自动布局,调整工作流节点的展示。
在编辑工作流时,您可以单击右上角的上锁来为工作流加上编辑锁,此时只有您可以编辑,其他项目成员无法编辑和运行该工作流。只有解锁之后,项目中其他成员才可以编辑该作业。说明 上锁之后,只有上锁的成员和阿里云账号能够解锁。
配置工作流调度
您可以打开工作流调度配置面板,配置工作流调度参数,调度系统会按照参数定时运行相关工作流,并将作业下发到指定集群上执行。以下介绍如何配置工作流的基本属性、调度属性和告警设置。
- 进入数据开发的项目列表页面。
- 通过阿里云账号登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的数据开发页签。
- 在项目列表页面,单击目标项目右侧的工作流设计。
- 在右侧工作流区域,单击配置。
- 在工作流调度配置面板的基本属性页签下,您可以修改工作流描述,选择资源组和执行集群。
- 在工作流调度配置面板,单击调度属性页签,设置工作流的调度属性。
配置项 说明 调度状态 支持的调度状态如下: - 启动:可以启动工作流调度。调度开启后,工作流编辑画布上方会出现调度中的状态提示。
- 停止:调度状态为停止。
时间属性调度 开始时间 工作流调度的开始时间。 结束时间 可选,工作流调度的结束时间。 调度周期 工作流调度的周期。 CRON表达式 工作流调度周期的CRON表达式。 依赖调度属性 所属项目 可选,当前工作流的前序工作流所属的项目。 依赖工作流 可选,当前工作流的前序工作流,即前序工作流执行完成后,当前工作流才会被调度执行。 - 在工作流调度配置面板,单击告警设置页签,设置工作流的告警配置项。
配置项 说明 执行失败 设置工作流执行失败时,是否通知到用户告警组或钉钉告警组。 节点失败 设置工作流节点执行失败时,是否通知到用户告警组或钉钉告警组。 执行成功 设置工作流执行成功时,是否通知到用户告警组或钉钉告警组。 启动超时 设置如果工作流中有节点在下发到集群后30分钟内还没有启动时,是否通知到用户告警组或钉钉告警组。 节点执行超时 设置如果节点执行时长超过作业配置里的预期最大运行时长时,是否通知到用户告警组或钉钉告警组。
执行工作流
您也可以指定工作流的业务时间,此时工作流作业中的时间相关变量将使用指定的业务时间进行计算,一般用于重跑某个时间段的工作流实例,可以设置单次重跑或批量重跑。如果您的作业中没有任何时间相关变量,可以选择在当前时间立即执行,即可运行工作流。
- 进入数据开发的项目列表页面。
- 通过阿里云账号登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的数据开发页签。
- 在项目列表页面,单击目标项目右侧的工作流设计。
- 运行工作流。
- 在工作流设计页面,单击运行。
- 在运行工作流对话框中,配置相关运行信息。
您可以根据业务情况,选择运行方式。支持的运行方式有立即执行和设置时间调度运行,两种运行方式的具体情况如下表。
运行方式 说明 立即执行 立即运行一个工作流,可以将指定运行时间作为本工作流的业务时间,时间相关的变量将使用该时间进行计算。 设置时间调度运行 立即运行一批工作流,将指定调度规则的触发时间作为本工作流的业务时间,时间相关的变量将使用该时间进行计算。一次最多支持100个触发点。您需要设置的信息如下: - 开始时间:工作流调度的开始时间。
- 结束时间:可选,工作流调度的结束时间。
- 调度周期:工作流调度的周期。
- CRON表达式:设置调度周期后的CRON表达式。
- 跳过成功节点:您可以根据业务情况选择是否打开跳过成功节点。打开该开关后,如果某个业务时间对应的工作流实例是成功的,将会跳过该业务时间的实例,继续运行其他业务时间的工作流实例。
- 单击确定。
查看工作流运行记录
运行工作流后,可通过以下步骤查看工作流运行记录。
- 在工作流设计页面,单击下方运行记录页签。
您可以查看工作流实例的运行状态。
- 单击工作流实例所在行的详情,跳转至运维中心。
您可以查看工作流实例的详细情况,也可以暂停、恢复、停止和重跑工作流实例,详情请参见运维中心。
功能 说明 详情 查看工作流实例的详细信息,包括工作流节点实例的详细信息和运行状态。 停止工作流 终止正在运行的工作流实例,所有正在运行的作业节点立即停止。 暂停工作流 暂停正在运行的工作流实例,正在运行的作业节点会继续执行,但后续的作业节点不再执行。 恢复工作流 恢复已被暂停的工作流实例。 重跑工作流实例 重新运行已经结束的工作流实例。单击重跑工作流实例后,可以选择只重试失败节点,也可以从头重跑所有节点。
工作流可执行操作
在工作流设计区域,您可以在工作流名称上单击右键,执行如下操作。
| 操作 | 说明 |
| 克隆工作流 | 在同一文件夹下克隆出相同图形的工作流。 说明 工作流的调度参数目前无法克隆。 |
| 重命名工作流 | 重新命名工作流的名称。 |
| 删除工作流 | 删除工作流。当工作流在运行状态时无法删除。 |
该文章对您有帮助吗?