调度配置用于定义节点在生产环境的周期调度方式。您可以通过配置属性中调度属性,配置任务调度周期与生效日期等。本文为您介绍如何配置流批一体任务的调度配置。
操作步骤
请参见离线模式配置入口,进入实时任务的离线模式配置页面。
在配置面板中资源配置区域,配置任务离线模式的资源配置参数信息。
参数
描述
时间属性
选择时间属性。时间属性包括:
正常调度:按照调度周期的时间配置调度,并正常执行,通常任务默认选中该项。
空跑调度:按照调度周期的时间配置调度,但都是空跑执行,即一调度到该任务便直接返回成功,没有真正的执行任务。
暂停调度
暂停调度选择是后,即可暂停该任务的调度,会按照下面的调度周期时间配置调度,但是一旦调度到该任务会直接返回失败,不会执行。通常用于某个任务暂时不用执行,但后面还会继续使用的场景。
调度周期
调度周期即在生产环境调度系统中,多久会真实执行一次该任务中的代码。当一个任务被成功提交后,该任务调度将提交当天次日开始按照该任务的时间属性配置生成自动调度的周期实例,并根据上游依赖的实例运行结果和时间点运行。
调度周期可选择日、周、月、小时和分钟:
日调度:即调度任务每天自动运行一次。新建周期任务时,系统默认的时间周期为每天0点运行一次。您可以根据需要,单击图标,指定运行的时间点。
周调度:即调度任务每周的特定几天,在特定时间点自动运行一次。您可以根据需要,单击图标,指定运行的时间点。
说明在非指定的调度时间内,为保证下游实例正常运行,系统会生成实例后直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。
月调度:即调度任务在每月的特定几天,在特定时间点自动运行一次。您可以根据需要,单击图标,指定运行的时间点。
说明在非指定的调度时间内,为保证下游实例正常运行,系统会每天生成实例后直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。
小时调度:支持时间段调度、整点调度和自定义调度。
时间段调度:即每天指定的时间段内,调度任务按间隔时间数的时间间隔运行一次。您可以单击开始或结束后的图标,指定运行的开始和结束时间。同时您可以单击间隔后的图标,在下拉列表中选择间隔时间。例如,每天00:00~23:59的时间段内,每隔1小时会自动调度一次。
整点调度:单击下拉列表框选择整点时间,调度系统会在所选择的整点时间自动为任务生成实例并运行。
自定义调度:单击下拉列表框选择自定义时间,调度系统会在自定义的时间点自动为任务生成实例并运行。
分钟调度:支持每天或每小时。
每天:即每天指定的时间段内,调度任务按间隔时间数的时间间隔运行一次。
每小时:即每小时指定的开始时间到该小时结束的时间段内,调度任务按间隔时间数的时间间隔运行一次。
依赖上周期
根据业务场景选择本周期节点的运行,是否需要依赖上一周期本节点或其他节点的运行结果。
选择节点类型。系统支持选择自定义和当前。适用场景说明如下:
本周期节点是否运行取决于上一周期本节点是否正常产出数据,则需要选择当前。只有上一周期本节点运行成功,才会启动运行本节点。
代码任务没有用到某个节点的产出表,但业务上需要依赖该节点的上一周期是否正常产出数据,则需要选择依赖自定义节点。
时间参数
您可以对代码中所用参数的具体赋值。查看Dataphin调度系统的配置规则及支持配置的时间参数,请参见附录:节点参数配置说明。
单击确定,完成任务离线模式的调度配置。
附录:节点参数配置说明
Dataphin的变量分类
Dataphin中存在以下类型的变量。
全局变量:在规划-公共定义-全局变量中事先声明定义, 可以在租户内任何节点或代码中出引用,系统初始内置的全局变量有
${bizdate}
、${nodeid}
、${taskid}
。空间名称变量:即
${生产项目名称}
和${生产板块名称}
。本地变量:无须声明式定义,直接在代码中使用
${variablename}
即可定义一个名字为variable_name
的本地变量,建议variable_name
只使用数字,字母和下划线(请勿使用glb开头, 此为全局变量保留设置 ),且长度不超过 32 位字符。重要如果
variable_name
与某个全局变量名称一致, 会被系统优先视作引用了全局变量, 可在参数配置中转换类型为本地变量。如果
variable_name
与某个生产项目或者生产板块的名称一致, 会被系统强制视作为空间名称变量。如果
${variable_name}
是代码内容的一部分, 而不是变量, 可在参数配置中忽略该变量。
变量赋值-日期时间计算表达式
为本地变量赋值时, 如果需要针对日期时间进行运算, Dataphin提供一套快捷日期计算操作符。
Dataphin提供基于两个日期时间的运算。
基于业务日期${bizdate}的方式:
${(yyyyMMdd|yyyy/MM/dd|yyyy-MM-dd) (+|-) n}
, 详见下表示例。基于预计执行时间(即节点任务设置的起调时间)的方式:
$[(yyyyMMddHHmmss|yyyy/MM/dd HH:mm:ss|yyyy-MM-dd HH:mm:ss) (+|-) n]
, 详见下表示例。
日期时间各部分的标识符号。
日期时间
标识符号
年
yyyy
月
mm (日期时间只到天粒度时可使用)或 MM (日期时间到分钟粒度时必须使用大写,以便和分钟 mm 进行区分)。
日
dd
小时
HH
分钟
mm
秒
ss
日期时间运算的单位(interval)是天。
1小时使用1/24来表示,5小时为5/24。
1分钟使用1/24/60来表示,30分钟为30/24/60。
示例参考
当前日期 | 基于业务日期(T-1)的配置 | 实际值 | 基于预计执行时间(T)的配置 | 实际值 |
2018-01-10 | ${yyyymmdd} | 20180109 | $[yyyymmdd] | 20180110 |
2018-01-10 | ${yyyyMMdd} | 20180109 | $[yyyyMMdd] | 20180110 |
2018-01-10 | ${yyyymmdd -1} | 20180108 | $[yyyymmdd -1] | 20180109 |
2018-01-10 | ${yyyymmdd -7} | 20180102 | $[yyyymmdd -7] | 20180103 |
2018-01-10 | ${yyyy-mm-dd} | 2018-01-09 | $[yyyy-mm-dd] | 2018-01-10 |
2018-01-10 | ${yyyy-mm} | 2018-01 | $[yyyy-mm] | 2018-01 |
2018-01-10 | ${yyyy-mm -1} | 2017-12 | $[yyyy-mm -1] | 2017-12 |
2018-01-10 | ${yyyy} | 2018 | $[yyyy] | 2018 |
2018-01-10 | ${yyyy+1} | 2019 | $[yyyy + 1] | 2019 |
2018-01-10 | ${yyyy/MM/dd HH:mm:ss} | 2018/01/09 00:00:00 | $[yyyy/MM/dd HH:mm:ss] | 2018/01/10 00:00:00 |
2018-01-10 | ${yyyy/MM/dd HH:mm:ss-1/24} | 2018/01/08 23:00:00 | $[HH:mm:ss-5/24/60] | 23:55:00 |
- 本页导读 (0)