管理工作流

工作流是通过拖拽任务节点并建立任务节点之间的关联来创建可视化的DAG(有向无环图)。如果您需要安排任务在指定的时间运行,可以创建工作流并在工作流中定义调度节点以及调度策略。本文为您介绍如何创建和运行工作流。

使用限制

  • 仅已部署的批作业支持创建工作流进行任务调度。

  • 任务编排目前为公测功能,公测阶段不保障服务等级协议SLA,详情请参见实时计算Flink版服务等级协议(SLA)。如果您在使用过程中遇到相关问题,可以提交工单

  • 仅华东2(上海)、华东1(杭州)、华北2(北京)、华南1(深圳)、华北3(张家口),以及新加坡地域支持任务编排功能。

创建工作流

  1. 登录实时计算控制台

  2. 单击目标工作空间操作列下的控制台

  3. 在左侧导航栏,单击运维中心 > 任务编排

  4. 单击创建工作流,填写如下信息。

    参数

    描述

    工作流名称

    工作流名称在当前项目中必须保持唯一。

    变量配置

    支持按预设值进行数据计算。

    • 变量名:自定义变量名,例如:${date}

    • 变量值:静态日期值、时间格式、表达式均可,详情请参考自定义参数取值差异对比

    支持以下系统时间变量的配置:

    • 变量名system.biz.date,变量值${system.biz.date},表示每日调度实例的计划时间前一天,其格式为yyyyMMdd

    • 变量名system.biz.curdate,变量值${system.biz.curdate},表示每日调度实例的计划时间,包含年月日,其格式为yyyyMMdd

    • 变量名system.datetime,变量值${system.datetime},表示每日调度实例的计划时间,包含年月日时分秒,其格式为yyyyMMddHHmmss

    说明
    • 如创建物化表工作流则无需填写此项配置。

    • 参数作用范围在所有节点关联的作业均生效,工作流级配置优先级高于作业配置。

    调度类型

    支持两种调度类型:

    • 手动触发:通过手动单击触发运行工作流。适用于临时测试或即时处理。

    • 周期调度:根据调度器规则触发工作流运行,支持按分钟、小时、天等定时运行。

    重要

    创建物化表节点的工作流需选择周期调度。

    调度周期

    周期调度类型需要设置。支持使用Cron表达式设置复杂规则,示例如下:

    • 0 0 */4 ? * *:每隔4小时执行。

    • 0 0 2 ? * *:每天2点执行。

    • 0 0 5,17 ? * MON-FRI:周一至周五5点和17点执行。

    调度开始时间

    生效时间点。仅周期调度类型需要设置。

    重要

    周期调度工作流创建后,需要将调度状态开启,才能在生效时间点触发运行。

    失败重试次数

    为工作流中的节点统一设置失败重试的次数,默认失败不重试。

    失败通知

    工作流节点失败时默认的通知邮箱。

    说明

    支持通过云监控进行钉钉、短信等方式告警,详情请参见云监控控制台

    资源队列

    工作流的部署目标,详情请参见管理资源队列。默认对节点生效,无需对节点做额外配置。

    说明

    此处的配置不会修改对应已部署批作业的部署目标。

    标签

    可以选择为工作流设置标签名和标签值。

  5. 单击创建

    创建后会进入工作流节点编辑页面。

  6. 配置工作流初始节点。

    工作流节点编辑页面默认存在一个初始节点,单击初始节点,在弹出的编辑节点面板中,配置节点相关参数,单击保存

    作业

    参数

    说明

    作业

    仅支持选择当前项目空间下的已部署批作业。支持模糊搜索方式搜索添加。

    节点名称

    节点在当前工作流中的名称。

    上游节点

    当前节点的上游依赖,仅能选择当前工作流中的其他节点。

    说明

    初始节点无上游依赖,不支持选择上游节点。

    失败重试次数

    为工作流中的节点设置失败重试的次数。默认与工作流重试次数一致,如设置则节点优先级高。

    状态订阅

    配置节点状态订阅策略及通知邮箱,支持启动失败状态订阅。

    超时时间

    节点执行时间超时时长,超过该时间则认为节点运行失败。

    资源队列

    节点的部署目标,详情请参见管理资源队列。不填写时默认使用工作流配置的资源队列。

    说明

    此处的配置不会修改对应已部署批作业的部署目标。

    标签

    可以选择为工作流节点设置标签名和标签值。

    物化表

    参数

    说明

    物化表

    仅支持选择VVR 11.0及以上版本创建的物化表,且执行模式为流的分区表。

    节点名称

    节点在当前工作流中的名称。

    时间分区

    • 分区字段:填写物化表的时间分区字段值。

    • 分区格式:如yyyyMMdd

    分区含义

    根据创建工作流节点时的周期调度时间自适应生成。

    资源配置

    可以自定义调度回刷所使用的资源量。并发度可以勾选自动推断,自动适配合适的并发度。

    上游节点

    当前节点的上游依赖,仅能选择当前工作流中的其他节点。

    说明
    • 初始节点无上游依赖,不支持选择上游节点。

    • 创建物化表节点后,会根据血缘关系自动推断下游节点。

    失败重试次数

    为工作流中的节点设置失败重试的次数。默认与工作流重试次数一致,如设置则节点优先级高。

    状态订阅

    配置节点状态订阅策略及通知邮箱,支持启动失败状态订阅。

    超时时间

    节点执行时间超时时长,超过该时间则认为节点运行失败。

    资源队列

    节点的部署目标,详情请参见管理资源队列。不填写时默认使用工作流配置的资源队列。

    说明

    此处的配置不会修改对应已部署物化表的部署目标。

    标签

    可以选择为工作流节点设置标签名和标签值。

    说明
    • 创建物化表节点后,会根据物化表的血缘关系,进行弹窗提示,快速构建下游节点。此时只需要勾选对应节点,即可完成快速创建。

    • 下游节点同样需要满足相同的限制。仅支持选择VVR 11.0及以上版本创建的物化表,且新鲜度为流(新鲜度小于30分钟)的分区表。

  7. (可选)单击页面下方的添加节点来添加更多节点。

  8. 保存工作流相关配置。

    1. 单击节点编辑页面右上方的保存

    2. 在弹出的对话框中,单击确定

运行工作流

每运行一次工作流,在工作流详情页面的工作流实例列表与详情页签都会产生一个工作流实例。

  • 手动触发:立即执行当前工作流任务一次。适用于临时测试或即时处理。

    单击目标工作流操作列下的触发运行,在弹出的对话框中,选择手动执行,然后单击确定。每次操作均会触发执行一次工作流。

  • 周期调度:启动后,根据定时时间触发工作流任务。

    需要将目标工作流的调度状态开启,才能在生效时间点触发工作流运行。

说明

如需补跑历史数据,或重新处理某一时间段内的特定分区数据,请使用数据回刷功能。

数据回刷

数据回刷是将某个时间段内的数据进行补充或更新,主要处理上游重传历史数据、维表修正、新增接口等数据场景。

执行数据回刷

  1. 登录实时计算控制台

  2. 单击目标工作空间操作列下的控制台

  3. 在左侧导航栏,单击运维中心 > 任务编排

  4. 单击目标工作流操作列下的触发运行

  5. 触发运行对话框中,选择数据回刷调度方式,并配置如下调度信息。

    11

    参数

    说明

    时间间隔

    时间段将被传递给工作流时间变量,以便刷新该时间段分区的数据。

    资源队列

    数据回刷任务运行的目标队列,默认default-queue

  6. 单击确定

管理数据回刷实例

数据回刷实例和工作流实例管理方式一致,详情请参见管理工作流实例和节点实例。您可执行如下操作查看数据回刷示例。

单击目标工作流名称,进入工作流实例页面。

22

工作流实例列表与详情页签,您可以查看对应的数据回刷实例,以及数据回刷实例的运行时间、运行状态等。

工作流状态

您可以在目标工作流的运行状态列,查看该工作流运行的所有工作流实例的运行状态。例如,一个工作流每天运行一次,运行5天,则产生5条工作流实例,运行状态列为这5条工作流实例的运行状况数量统计。

状态

说明

紫色

排队中

蓝色

运行中

绿色

运行成功

红色

运行失败

编辑工作流

  1. 登录实时计算控制台

  2. 单击目标工作空间操作列下的控制台

  3. 在左侧导航栏,单击任务编排

  4. 单击目标工作流操作列下的编辑工作流

    具体参数配置说明请参见创建工作流

    说明

    工作流调度状态开启时无法进行编辑。

相关文档