作业组
作业组列表
列表形式展示“已发布”的离线作业组,支持按照发布人、上线人和作业组名称进行筛选。列表展示项包括:
表一 展示项说明
展示项名称 | 描述 |
---|---|
作业名称 | 显示实时作业的名称。 |
状态 | 显示当前任务的发布/上线状态。 |
发布版本 | 已发布实时作业的最新版本。 |
作业类型 | 实时流水线、FlinkSQL作业、Flink自定义作业、SparkStreaming Scala、SparkStreaming自定义。 |
发布人 | 本次实时作业的发布人。 |
最近一次发布时间 | 实时作业最近一次的发布时间。 |
上线人 | 本次实时作业的上线操作人。 |
最近一次上线时间 | 实时作业最近一次的上线操作时间。 |
上线版本 | 已上线实时作业的最新版本。 |
操作 | 上线、启动、下线、删除、查看实例、查看详情。 |
作业组操作
可对当前作业组进行相关操作,包括上线、手动执行、调度设置、调度计划、修数据、下线并删除、查看实例、查看详情。
表二 离线作业操作说明
操作项名称 | 描述 |
---|---|
上线 | 当作业状态为已发布、已上线有新版本时,能够进行上线操作。点击上线之后,作业状态变更为已上线。 |
手动执行 | 单击手动执行,手动运行单次运行任务。运行时需要选择一个业务日期,确定本次运行哪天的业务数据。 |
修数据 | 针对周期性运行失败的情况,或作业初次上线需要对历史数据进行补充的情况。需要对作业进行修数据操作。修数据任务目前需要配置三个条件: |
调度设置 | 点击操作栏中调度设置对作业进行调度设置。设置好周期性调度之后,当作业发布之后,调度即可使用周期。详见调度设置详情。 |
调度计划 | 单击操作列更多-调度计划可查看当前任务的历史修数据任务及历史调度实例信息。 |
下线 | 对当前已上线的作业进行下线当前作业历史作业实例,但在任务运维中下线的作业在开发作业中不会被删除,仍可进行作业发布,发布后的作业看展示历史作业实例。 |
查看实例 | 单击操作列查看实例,可跳转至离线作业实例列表,查看当前作业生成的历史作业实例。 |
查看详情 | 单击操作列查看详情,可跳转至离线作业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分任意时间点。 |
表四 调度设置cron说明(字符整体不支持l,w,c、#)
字段 | 取值范围 | 特殊字符 |
---|---|---|
分钟 | [0, 59] | * , - / |
小时 | [0, 23] | * , - / |
天 | [1, 31] | ? * , - / |
月 | [1, 12]或[JAN, DEC] | * , - / |
周 | 支持数字【1~6】代表周一~周六 、【0 7】代表周日、英文【SUN-SAT】。 | ? * , - / |
表五 特殊字符说明
特殊字符 | 含义 | 示例 |
---|---|---|
, | 列出枚举值。 | 在字段分钟中,5,20表示分别在5分钟和20分钟触发一次。 |
- | 指定范围。 | 在字段分钟中,5-20表示从5分钟到20分钟之间每隔一分钟触发一次。 |
/ | 指定数值的增量。 | 在字段分钟中,0/15表示从第0分钟开始,每15分钟。在字段分钟中3/20表示从第3分钟开始,每20分钟。 |
? | 不指定值,仅用于日期和星期。 | 当字段日期或星期其中之一被指定了值以后,为了避免冲突,需要将另一个字段的值设为?。 |
* | 匹配任意值。 | 在字段月中,*表示每个月。 |
依赖关系
依赖关系设置是一种任务依赖上的一种触发。当上游作业成功或者完成之后,才会触发下游的作业。
此处添加的节点即可视为上当前作业的上游。
相关依赖限制:
在选择当前作业依赖作业时,需获取当前作业所有被依赖的作业(包括当前作业本身以多层依赖),均不可再被选择依赖,具体场景如下:
1)当前作业不允许依赖其本身,不允许下拉选择当前作业;
2)各类作业间不允许彼此循环依赖,如:当前作业A依赖作业B,则不允许在作业B中再依赖作业A;
3)多个作业间不允许形成循环闭环依赖,如:作业A依赖作业B,作业B依赖作业C,作业C依赖项包括作业C本身、作业B、作业A,因此作业C不可依赖作业C、作业B、作业A。
可以选择依赖项目和依赖作业,在依赖条件上分为全部成功和完成两类。如果是全部成功,则表示需要作业能够全部都运行成功,才能触发下游。选择完成,则表示只需要作业是完成态则能够触发下游运行。
匹配类型
在配置任务依赖后,当前任务执行之前需要对上游依赖任务的执行情况进行判断。判断逻辑如下:
- 当选择精确匹配时,任务执行前会校验上游依赖任务是否在指定时间内执行了特定数量的任务。如果执行时间或任务数量与调度计划不一致,则下游任务触发失败。
- 当选择模糊匹配时,当任务数量一致,但执行时间与调度计划有轻微偏差时,校验通过,触发下游任务。
依赖偏移
依赖偏移是描述哪些实例完成或者成功才能触发下游的,依赖偏移的配置分为三种情况:空、区间偏移、枚举偏移。
1.空:如果依赖偏移处为空,则系统默认按照当前作业的执行周期,向前偏移一个执行间隔单元作为起始时间点,到当前时间点,作为一个偏移时间段。
以在此时间段内的依赖作业是否有对应的实例及实例的状态是否和依赖条件一致,来作为是否触发当前作业的条件。如果一致则触发当前作业,如果不一致则保持“待触发”状态,在等待超过了执行间隔后,变为“未触发”状态。
不同类型的起始默认偏移开始时间点和结束时间点列表如下:
2.区间偏移:依赖偏移可以支持区间偏移关系的填写。基本格式为(-7day,0]。以当前时间前推第一个时间点为开始时间点,以当前时间前推第二个时间点为结束时间点。查看在此时间段内的依赖作业组实例的状态。
表六 依赖偏移参数
参数名称 | 详细说明 |
---|---|
支持的表达式类型 | 点、集合和区间表达式。建议使用区间表达式,以降低下游任务失败的风险。 |
默认值 | 若不填写,默认为区间表达式,表示当前作业组的一个调度周期。例如,若作业组每天3点执行,则默认的检查时间范围是昨天3点到今天3点之间([-24h,0])。 |
集合表达式 | 例如:{-1min, 2hour},使用大括号,表示检查两个时间点的任务。一个是检查本作业组调度时间开始1分钟前的依赖作业执行情况,另一个是检查本作业组调度时间开始2小时后的依赖作业执行情况。 |
区间表达式 | 支持左右开闭四种组合的数学区间写法。例如:作业组调度时间为每日7:00,填写[-20min,10min),表示检查业务时间在每日6:40至7:10之间的依赖作业执行完成情况。 |
支持的单位 | 分钟(min)、小时(hour)、天(day)、周(week)、月(month)。 |
检查结果 | 如果依赖任务的检查时间点/集合/区间内所有任务成功完成,则下游任务将继续执行;否则将不会被触发。 |
点表达式 | 例如:-1min,表示检查本作业组调度时间开始1分钟前的依赖作业执行情况。 |
表七 区间偏移说明
字段 | 说明 |
---|---|
区间表示符号 | 支持下括号和中括号。小括号指不包含此时间点,中括号指包含此时间点。如:( )、[ ]、( ] 、[ )这四种形式。 |
支持的时间单位 | |
数字限制 | 数字需均为非正数的整数。且第一个数值需要小于第二个数值。 |
表八 常用区间偏移示例
区间偏移 | 依赖解释 |
---|---|
(-7day,0] | 以当前时间点前推7天为开始时间点,到当前时间点为结束点,在此范围内,来看相应的作业的实例状态。 |
(-24hour,-12hour] | 以当前时间点前推12小时为开始时间点,到当前时间点前推12小时为结束点,在此范围内,来看相应的作业的实例状态。 |
(-60min,0] | 以当前时间点前推60分钟为开始时间点,到当前时间点为结束点,在此范围内,来看相应的作业的实例状态。 |
3.枚举偏移:依赖偏移可以支持枚举偏移关系的填写。基本格式为{-24hour,-12hour}。已当前时间点前推每一个时间点,查看各个时间点上的是否有对应实例及对应实例的状态。
表九 枚举偏移说明
字段 | 说明 |
---|---|
区间表示符号 | 支持大括号{} |
支持的时间单位 | |
数字限制 | 数字需均为非正数的整数。 |
表十 常用枚举偏移示例
区间迁移 | 依赖解释 |
---|---|
{-24hour,-12hour} | 以当前时间点前推24小时和前推12小时,查看这两个时间点的作业的实例状态。 |
{-10min,-5min} | 以当前时间点前10分钟和前推5分钟,查看这两个时间点的作业的实例状态。 |
依赖串并行
支持作业设置依赖的串并行功能。依赖上一周期,设置为是则表示作业为串行模式,设置为否则表示作业为并行模式,需要用户设置最大并行数。
并行设置如果为2,则表示同一个时刻只允许有两个作业实例同时运行。如果并行设置为1,则效果和串行一致,同一时刻只允许一个作业实例同时运行。
失败策略
当作业内某个作业节点失败时,指定失败策略。
- 继续:一个节点失败的时候,当前在运行节点继续运行直至完成。
- 终止:一个节点失败的时候,当前在运行节点停止。