任务运维
概述
任务运维分为三部分:离线作业组、离线作业以及实时作业。用户在开发界面开发好离线作业组、离线作业或者实时作业之后,进行【发布】;发布的任务将展示到【任务运维】列表中,在【任务运维】中心可对已发布的作业进行上线、设置定时调度、手动执行、修数据、任务下线及查看实例等操作。
离线作业组
离线作业组运维主要对作业组进行运维操作。
离线作业组列表
列表形式展示“已发布”的离线作业组,列表展示项包括:
- 作业组名称:显示作业组的名称。
-
状态:显示当前任务的发布/上线状态。
-
状态包括三个枚举值:
- 已发布:任务第一次发布时,状态为【已发布】状态,此时任务没有真正在运维环境中上线,不能进行周期性运行。
- 已上线:针对已发布的任务进行上线操作。此时任务状态为【已上线】。已上线任务能够按照调度设置进行周期性运行。
- 已上线有新版本:当已上线的任务,再次进行编辑发布后,此时对应的任务状态为【已上线有新版本】。在线上周期性运行的版本仍旧是老版本。此时,再进行【上线】操作,任务状态变为【已上线】,新版本任务覆盖老版本任务。
-
- 发布版本:已发布作业的最新版本。
- 节点数目:离线作业组中包含的作业节点数量。
- 发布人:本次作业组的发布人。
- 发布时间:本次作业组的发布时间。
- 上线人:本次作业组的上线操作人。
- 上线时间:本次作业组的上线操作时间。
- 上线版本:已上线作业组的最新版本。
操作
可对当前作业组进行相关操作,包括上线、手动执行、调度设置、调度计划、修数据、下线并删除、查看实例、查看详情。
上线
上线:当作业组状态为【已发布】、【已上线有新版本】时,能够进行上线操作。点击上线之后,作业组状态变更为【已上线】。
手动执行
手动执行:点击手动执行,手动运行单次运行任务。运行时需要选择一个业务日期,确定本次运行哪天的业务数据。
修数据
针对周期性运行失败的情况,或作业组初次上线需要对历史数据进行补充的情况。需要对作业组进行修数据操作。
修数据任务目前需要配置三个条件:
- 业务时间范围:用户选择一个时间段,在时间段内作业组会按照调度周期设置,运行相应的实例。如果对应的时间点上已经有对应实例,则不会重新生成新实例,会将历史已有实例重新运行,如果对应的时间点上没有对应实例,则产生新的实例。
- 运行设置:【运行全部实例】则是指在对应的业务时间范围内,运行全部的实例,不管实例是什么状态。【仅运行未成功执行实例】则跳过成功作业组,仅运行未成功的实例。
- 是否触发下游依赖作业:选择【是】则将会下游的所有依赖触发重新运行。选择【否】则仅运行当前作业组,不会拉起下游作业组。
调度设置
调度设置:点击操作栏中【调度设置】对作业组进行调度设置。设置好周期性调度之后,当作业发布之后,调度即可使用周期。
调度类型
调度类型:分为基本设置和crontab设置。基本设置以可视化的形式设置周期性调度,cronTab已表达式的形式来进行功能设置。
- 分钟:选择分钟级别的周期,分钟级别的执行间隔为5分钟、10分钟、30分钟三种间隔类型。在配置好执行周期之后,可以在预览中,显示按照选中的执行周期一天内,在哪些时间点运行哪些批次。
- 小时:选择小时级别的周期,执行间隔从1小时-23小时。开始时间可以从0分-59分任意时间点。
- 天:选择天级别的周期,执行间隔从1天-31天。开始时间可以0点0分-23点59分任意时间点。
- 周:选择周级别的执行周期,执行间隔从周一到周日,可以进行多选。开始时间可以0点0分-23点59分任意时间点。
- 月:选择月级别的执行周期,执行间隔从1天-31天。开始时间可以0点0分-23点59分任意时间点。
设置对应的周期之后,作业就会按照不同的周期进行运行。
依赖关系
依赖关系设置是一种任务依赖上的一种触发。当上游作业组成功或者完成之后,才会触发下游的作业组。
此处添加的节点即可视为当前作业组的上游。
相关依赖限制:在选择当前作业依赖作业时,需获取当前作业所有被依赖的作业(包括当前作业本身以多层依赖),均不可再被选择依赖,具体场景如下:
1)当前作业不允许依赖其本身,不允许下拉选择当前作业;
2)各类作业间不允许彼此循环依赖,如:当前作业A依赖作业B,则不允许在作业B中再依赖作业A;
3)多个作业间不允许形成循环闭环依赖,如:作业A依赖作业B,作业B依赖作业C,作业C依赖项包括作业C本身、作业B、作业A,因此作业C不可依赖作业C、作业B、作业A。
可以选择依赖项目和依赖作业组,在依赖条件上分为全部成功和完成两类。如果是全部成功,则表示需要作业组能够全部都运行成功,才能触发下游。选择完成,则表示只需要作业组是完成态则能够触发下游运行。
依赖偏移是描述哪些实例完成或者成功才能触发下游的,依赖偏移的配置分为三种情况:空、区间偏移、枚举偏移。
空
如果依赖偏移处为空,则系统默认按照当前作业组的执行周期,向前偏移一个执行间隔单元作为起始时间点,到当前时间点,作为一个偏移时间段。
以在此时间段内的依赖作业组是否有对应的实例及实例的状态是否和依赖条件一致,来作为是否触发当前作业组的条件。如果一致则触发当前作业组,如果不一致则保持“待触发”状态,在等待超过了执行间隔后,变为“未触发”状态。
不同类型的起始默认偏移开始时间点和结束时间点列表如下:
区间偏移
依赖偏移可以支持区间偏移关系的填写。基本格式为(-7day,0]。以当前时间前推第一个时间点为开始时间点,以当前时间前推第二个时间点为结束时间点。查看在此时间段内的依赖作业组实例的状态。
- 区间表示符号: 支持下括号和中括号。小括号指不包含此时间点,中括号指包含此时间点。如:( )、[ ]、( ] 、[ )这四种形式。
-
支持的时间单位:
- 分钟:min
- 小时:hour
- 天:day
- 星期:week
- 月:month
- 数字限制:数字需均为非正数的整数。且第一个数值需要小于第二个数值。
常用区间偏移示例:
区间偏移 | 依赖解释 |
---|---|
(-7day,0] | 以当前时间点前推7天为开始时间点,到当前时间点为结束点,在此范围内,来看相应的作业的实例状态。 |
(-24hour,-12hour] | 以当前时间点前推12小时为开始时间点,到当前时间点前推12小时为结束点,在此范围内,来看相应的作业的实例状态。 |
(-60min,0] | 以当前时间点前推60分钟为开始时间点,到当前时间点为结束点,在此范围内,来看相应的作业的实例状态。 |
枚举偏移
依赖偏移可以支持枚举偏移关系的填写。基本格式为{-24hour,-12hour}。已当前时间点前推每一个时间点,查看各个时间点上的是否有对应实例及对应实例的状态。
- 区间表示符号:支持大括号{}。
-
支持的时间单位:
- 分钟:min
- 小时:hour
- 天:day
- 星期:week
- 月:month
- 数字限制:数字需均为非正数的整数。
常用枚举偏移示例:
区间迁移 | 依赖解释 |
---|---|
{-24hour,-12hour} | 以当前时间点前推24小时和前推12小时,查看这两个时间点的作业的实例状态。 |
{-10min,-5min} | 以当前时间点前10分钟和前推5分钟,查看这两个时间点的作业的实例状态。 |
依赖串并行
支持作业组设置依赖的串并行功能。
依赖上一周期,设置为【是】则表示作业组为串行模式,设置为【否】则表示作业组为并行模式,需要用户设置最大并行数。
并行设置如果为2,则表示同一个时刻只允许有两个作业组实例同时运行。如果并行设置为1,则效果和串行一致,同一时刻只允许一个作业组实例同时运行。
失败策略
失败策略:当作业组内某个作业节点失败时,指定失败策略。继续:作业节点失败后下游任务继续运行;挂起:作业节点失败后,作业组被挂起,下游不继续执行;终止:作业节点失败后,作业组终止,下游不继续执行。
调度计划
点击【更多-调度计划】可查看当前任务的历史修数据任务及历史调度实例信息。
下线并删除
当被引用的作业组不允许删除,对当前已上线的作业组进行下线并删除操作同时会一并删除当前作业组历史作业实例,但在【任务运维】中下线并删除的作业组在开发作业中不会被删除,仍可进行作业发布,发布后的作业展示历史作业实例。
若当前作业组存在调度任务,可强制下线并删除。
查看实例
点击【查看实例】,可跳转至离线作业实例列表,查看当前作业组生成的历史作业实例。
查看详情
点击【查看详情】,可跳转至离线作业组DAG配置页面,对配置内容进行修改。
离线作业
离线作业运维主要对作业进行运维操作。
离线作业列表
列表形式展示“已发布”的离线作业,列表展示项包括:
- 作业名称:显示作业的名称。
-
状态:显示当前任务的发布/上线状态。
-
状态包括三个枚举值:
- 已发布:任务第一次发布时,状态为【已发布】状态,此时任务没有真正在运维环境中上线,不能进行周期性运行。
- 已上线:针对已发布的任务进行上线操作。此时任务状态为【已上线】。已上线任务能够按照调度设置进行周期性运行。
- 已上线有新版本:当已上线的任务,再次进行编辑发布后,此时对应的任务状态为【已上线有新版本】。在线上周期性运行的版本仍旧是老版本。此时,再进行【上线】操作,任务状态变为【已上线】,新版本任务覆盖老版本任务。
-
- 发布版本:已发布作业的最新版本。
- 作业类型:离线作业的类型
- 发布人:本次作业的发布人。
- 发布时间:本次作业的发布时间。
- 上线人:本次作业的上线操作人。
- 上线时间:本次作业的上线操作时间。
- 上线版本:已上线作业的最新版本。
操作
可对当前作业进行相关操作,包括上线、手动执行、调度设置、调度计划、修数据、下线并删除、查看实例、查看详情。
上线
上线:当作业状态为【已发布】、【已上线有新版本】时,能够进行上线操作。点击上线之后,作业状态变更为【已上线】。
手动执行
手动执行:点击手动执行,手动运行单次运行任务。运行时需要选择一个业务日期,确定本次运行哪天的业务数据。
修数据
针对周期性运行失败的情况,或作业初次上线需要对历史数据进行补充的情况。需要对作业进行修数据操作。
修数据任务目前需要配置三个条件:
- 业务时间范围:用户选择一个时间段,在时间段内作业组会按照调度周期设置,运行相应的实例。如果对应的时间点上已经有对应实例,则不会重新生成新实例,会将历史已有实例重新运行,如果对应的时间点上没有对应实例,则产生新的实例。
- 运行设置:【运行全部实例】则是指在对应的业务时间范围内,运行全部的实例,不管实例是什么状态。【仅运行未成功执行实例】则跳过成功作业,仅运行未成功的实例。
- 是否触发下游依赖作业:选择【是】则将会下游的所有依赖触发重新运行。选择【否】则仅运行当前作业,不会拉起下游作业。
调度设置
调度设置:点击操作栏中【调度设置】对作业进行调度设置。设置好周期性调度之后,当作业发布之后,调度即可使用周期。
调度类型
调度类型:分为基本设置和crontab设置。基本设置以可视化的形式设置周期性调度,cronTab已表达式的形式来进行功能设置。
- 分钟:选择分钟级别的周期,分钟级别的执行间隔为5分钟、10分钟、30分钟三种间隔类型。在配置好执行周期之后,可以在预览中,显示按照选中的执行周期一天内,在哪些时间点运行哪些批次。
- 小时:选择小时级别的周期,执行间隔从1小时-23小时。开始时间可以从0分-59分任意时间点。
- 天:选择天级别的周期,执行间隔从1天-31天。开始时间可以0点0分-23点59分任意时间点。
- 周:选择周级别的执行周期,执行间隔从周一到周日,可以进行多选。开始时间可以0点0分-23点59分任意时间点。
- 月:选择月级别的执行周期,执行间隔从1天-31天。开始时间可以0点0分-23点59分任意时间点。
设置对应的周期之后,作业就会按照不同的周期进行运行。
依赖关系
依赖关系设置是一种任务依赖上的一种触发。当上游作业成功或者完成之后,才会触发下游的作业。
此处添加的节点即可视为上当前作业的上游。
相关依赖限制:
在选择当前作业依赖作业时,需获取当前作业所有被依赖的作业(包括当前作业本身以多层依赖),均不可再被选择依赖,具体场景如下:
1)当前作业不允许依赖其本身,不允许下拉选择当前作业;
2)各类作业间不允许彼此循环依赖,如:当前作业A依赖作业B,则不允许在作业B中再依赖作业A;
3)多个作业间不允许形成循环闭环依赖,如:作业A依赖作业B,作业B依赖作业C,作业C依赖项包括作业C本身、作业B、作业A,因此作业C不可依赖作业C、作业B、作业A。
可以选择依赖项目和依赖作业,在依赖条件上分为全部成功和完成两类。如果是全部成功,则表示需要作业能够全部都运行成功,才能触发下游。选择完成,则表示只需要作业是完成态则能够触发下游运行。
依赖偏移是描述哪些实例完成或者成功才能触发下游的,依赖偏移的配置分为三种情况:空、区间偏移、枚举偏移。
空
如果依赖偏移处为空,则系统默认按照当前作业的执行周期,向前偏移一个执行间隔单元作为起始时间点,到当前时间点,作为一个偏移时间段。
以在此时间段内的依赖作业是否有对应的实例及实例的状态是否和依赖条件一致,来作为是否触发当前作业的条件。如果一致则触发当前作业,如果不一致则保持“待触发”状态,在等待超过了执行间隔后,变为“未触发”状态。
不同类型的起始默认偏移开始时间点和结束时间点列表如下:
区间偏移
依赖偏移可以支持区间偏移关系的填写。基本格式为(-7day,0]。以当前时间前推第一个时间点为开始时间点,以当前时间前推第二个时间点为结束时间点。查看在此时间段内的依赖作业组实例的状态。
- 区间表示符号:支持下括号和中括号。小括号指不包含此时间点,中括号指包含此时间点。如:( )、[ ]、( ] 、[ )这四种形式。
-
支持的时间单位:
- 分钟:min
- 小时:hour
- 天:day
- 星期:week
- 月:month
- 数字限制:数字需均为非正数的整数。且第一个数值需要小于第二个数值。
常用区间偏移示例:
区间偏移 | 依赖解释 |
---|---|
(-7day,0] | 以当前时间点前推7天为开始时间点,到当前时间点为结束点,在此范围内,来看相应的作业的实例状态。 |
(-24hour,-12hour] | 以当前时间点前推12小时为开始时间点,到当前时间点前推12小时为结束点,在此范围内,来看相应的作业的实例状态。 |
(-60min,0] | 以当前时间点前推60分钟为开始时间点,到当前时间点为结束点,在此范围内,来看相应的作业的实例状态。 |
枚举偏移
依赖偏移可以支持枚举偏移关系的填写。基本格式为{-24hour,-12hour}。已当前时间点前推每一个时间点,查看各个时间点上的是否有对应实例及对应实例的状态。
- 区间表示符号:支持大括号{}。
-
支持的时间单位:
- 分钟:min
- 小时:hour
- 天:day
- 星期:week
- 月:month
- 数字限制:数字需均为非正数的整数。
常用枚举偏移示例:
区间迁移 | 依赖解释 |
---|---|
{-24hour,-12hour} | 以当前时间点前推24小时和前推12小时,查看这两个时间点的作业的实例状态。 |
{-10min,-5min} | 以当前时间点前10分钟和前推5分钟,查看这两个时间点的作业的实例状态。 |
依赖串并行
支持作业设置依赖的串并行功能。
依赖上一周期,设置为【是】则表示作业为串行模式,设置为【否】则表示作业为并行模式,需要用户设置最大并行数。
并行设置如果为2,则表示同一个时刻只允许有两个作业实例同时运行。如果并行设置为1,则效果和串行一致,同一时刻只允许一个作业实例同时运行。
失败策略
失败策略:当作业内某个作业节点失败时,指定失败策略。继续:作业节点失败后下游任务继续运行;挂起:作业节点失败后,作业被挂起,下游不继续执行;终止:作业节点失败后,作业终止,下游不继续执行。
调度计划
点击【更多-调度计划】可查看当前任务的历史修数据任务及历史调度实例信息。
下线并删除
当被引用的作业不允许删除,对当前已上线的作业进行下线并删除操作同时会一并删除当前作业历史作业实例,但在【任务运维】中下线并删除的作业在开发作业中不会被删除,仍可进行作业发布,发布后的作业看展示历史作业实例。
若当前作业组存在调度任务,可强制下线并删除。
查看实例
点击【查看实例】,可跳转至离线作业实例列表,查看当前作业生成的历史作业实例。
查看详情
点击【查看详情】,可跳转至离线作业DAG配置页面,对配置内容进行修改。
实时作业
实时作业运维主要针对实时作业进行运维操作。
实时作业列表
列表形式展示实时作业,列表展示项包括:
- 作业名称:显示实时作业的名称。
-
状态:显示当前任务的发布/上线状态。
-
状态包括三个枚举值:
- 已发布:任务第一次发布时,状态为【已发布】状态,此时任务没有真正在运维环境中上线,不能进行任务启动运行。
- 已上线:针对已发布的任务进行上线操作。此时任务状态为【已上线】。已上线实时任务能够进行启动运行。
- 已上线有新版本:当已上线的任务,再次进行编辑发布后,此时对应的任务状态为【已上线有新版本】。在线上周期性运行的版本仍旧是老版本。此时,再进行【上线】操作,任务状态变为【已上线】,新版本任务覆盖老版本任务。
-
- 发布版本:已发布实时作业的最新版本。
- 作业类型:实时流水线、FlinkSQL作业、Flink自定义作业。
- 发布人:本次实时作业的发布人。
- 发布时间:本次实时作业的发布时间。
- 上线人:本次实时作业的上线操作人。
- 上线时间:本次实时作业的上线操作时间。
- 上线版本:已上线实时作业的最新版本
操作
可对当前实时作业进行相关操作,包括上线、启动、下线并删除、查看实例、查看详情。
上线
当实时作业状态为【已发布】、【已上线有新版本】时,能够进行上线操作。点击上线之后,实时作业状态变更为【已上线】。
启动
点击启动,将已上线的实时作业进行任务启动。
下线并删除
对当前已上线的实时作业进行下线并删除操作同时会一并删除当前实时作业实例,但在【任务运维】中下线并删除的实时作业在开发作业中不会被删除,仍可进行作业发布,发布后的作业看展示历史实时作业实例。
查看实例
点击【查看实例】,可跳转至实时作业实例列表,查看当前实时作业生成的历史作业实例。