工作流是指由一系列相关任务组成的有序流程,每个任务之间有明确的依赖关系和执行顺序。如果您需要安排任务在指定的时间运行,可以创建工作流并在工作流中定义调度节点以及调度策略。本文为您介绍如何创建和运行工作流。
前提条件
已创建工作空间,详情请参见管理工作空间。
已完成任务开发且任务处于发布状态。
创建工作流
进入任务编排页面。
在左侧导航栏,选择
。在Spark页面,单击目标工作空间名称。
在EMR Serverless Spark页面,单击左侧导航栏中的任务编排。
在任务编排页面,单击创建工作流。
在创建工作流面板,填写以下信息,单击下一步。
参数
说明
工作流名称
工作流名称在当前空间中必须保持唯一。
资源队列
选择工作流默认运行的资源队列。
说明工作流节点的资源队列可以覆盖该默认队列。
其他设置
调度类型
用于定义节点在生产环境的运行方式。支持以下调度类型:
手动(默认):只能通过手动运行工作流,触发一次运行一次。
调度器:根据调度器规则触发工作流运行,支持按分钟、小时、天等定时运行。
调度类型选择为调度器时,还需配置参数调度周期和调度开始时间。
调度周期
调度周期即工作流在调度场景下自动执行的周期数,用于定义在生产环境调度系统中,多久会执行一次工作流中的代码逻辑。调度任务会根据调度类型及周期数生成相应的周期实例,通过周期实例的方式自动调度运行周期任务。仅当调度类型为调度器时需要设置。
支持以下调度周期:
日调度:每天在指定的定时时间运行一次。
小时调度:每天指定的时间段内,调度任务按
N*1小时
的时间间隔运行一次。分钟调度:每天指定的时间段内,调度任务按
N*指定分钟
的时间间隔运行一次。
调度开始时间
工作流调度开始的日期和时间。默认为当前时间。仅调度器类型需要设置。
重要在创建调度器类型的工作流后,需要在任务编排页面开启调度状态开关,以便在指定的生效时间点触发运行。
失败重试次数
工作流节点运行失败后的重试次数。默认不重试。
说明工作流节点的配置仍可以覆盖该参数。
失败通知
工作流运行失败后的通知邮箱。
标签
可以为工作流设置标签名和标签值。
编辑工作流节点。
在编辑工作流页面,单击下方的添加节点。
在弹出的添加节点面板中,配置节点相关参数。
参数
说明
来源文件路径
工作流节点所对应的任务路径,该路径所对应的任务必须为已发布状态。
节点类型
工作流节点的类型。默认情况下,系统会根据路径所对应的任务推测工作流节点的类型。
节点名称
自定义节点的名称。会根据任务源自动补齐名称。
上游节点
工作流节点的上游节点。上游节点必须是在当前工作流中已创建的节点。
首个节点不需要设置上游节点。
重试次数
使用工作流中定义的重试次数。默认不重试。
超时时间(秒)
工作流节点单次运行的超时时间。默认不限制。
状态订阅
可以指定邮箱来订阅工作流节点的指定状态。
标签
工作流节点的标签对。默认情况下,每个工作流节点都会自动包含workflow_name和task_name两个内置标签键值对。
资源队列
工作流节点运行所使用的资源队列,默认情况下会采用工作流定义的资源队列,但是可以通过配置来覆盖创建工作流时的资源队列。
重要对于已经设置了资源队列的工作流节点,如果后续修改了工作流所对应的资源队列,系统仍然会以工作流节点的配置为准。
说明如果您的任务来源为SQL开发,您还需配置任务参数。任务参数默认继承任务模板,您可以通过修改任务模板来调整默认值,参数详情请参见管理默认配置。
单击保存。
初始节点配置完成后,您可以单击页面下方的添加节点来添加更多节点。
发布工作流。
单击右上角的发布工作流。
在发布对话框中,可以输入发布信息,然后单击确定。
运行工作流
每运行一次工作流,都会在工作流详情页面的工作流实例列表页签产生一个工作流实例。
调试运行
编辑工作流时,您可以调试运行最新版本的工作流。
选择
。在编辑运行参数对话框中,选择开发环境的资源队列,然后单击保存。
单击调试运行。
系统调度
创建工作流时配置了调度类型选择了调度器,创建完成后打开调度状态开关,可以在指定的生效时间点触发工作流运行。
手动运行
在任务编排页面,单击目标工作流的名称,然后单击右上角的手动运行,触发当前工作流的运行。
查看运行状态
您可以在目标工作流的工作流运行状态和工作流节点运行状态列中,查看该工作流运行的所有工作流实例和节点的运行状态。
工作流运行状态
状态
说明
蓝色
运行中
绿色
运行成功
红色
运行失败
紫色
等待中
工作流节点运行状态
状态
说明
蓝色
运行中
绿色
运行成功
红色
运行失败
黄色
重试中
紫色
等待中
相关文档
任务编排相关概念,详情请参见基本概念。
查看工作流实例、节点实例等信息,详情请参见管理工作流实例和节点实例。