Apache DolphinScheduler是一个分布式和可扩展的开源工作流协调平台,具有强大的DAG可视化界面。
今天在海豚调度的一个接口中想入参一个当前时间(要求格式为yyyyMMddhhmmss),找了找发现如下几种方法,给记录一下:
1.全局参数设置
在设置DAG图名称这一位置设置全局参数,这个设置的参数便可以设置成自己想要的日期格式,在接口处添加入参时该入参便可以通过
c
o
m
p
l
e
m
e
n
t
d
a
t
e
得到
{complement_date}得到
complementdate得到{yyyy-MM-dd}这个时间值。
2.自定义参数
基础内置参数有上述三个,但是衍生出来的却有许多个,如下图:
3.补数
何为Apache DolphinScheduler 补数功能?
3.1补数一天,如下图
未开启补数时,
[
y
y
y
y
−
M
M
−
d
d
]
:默认获取当前日期开启补数功能,
[yyyy-MM-dd] :默认获取当前日期 开启补数功能,
[yyyy−MM−dd]:默认获取当前日期开启补数功能,[yyyy-MM-dd] :获取的是,序号4位置所设置的调度日期
3.2补数一段时间,如下图
串行执行补数逻辑:点击运行,传入 2023-02-05 执行一遍 test_ds_bushu 里面所有的 job,执行完成传入 2023-02-06 执行一遍,直至传入 2023-02-09 执行一遍结束。
补数据使用的参数
${system.biz.date} : 日常调度实例定时的定时时间前一天,格式为 yyyyMMdd,补数据时,该日期 +1
${system.biz.curdate} : 日常调度实例定时的定时时间,格式为 yyyyMMdd,补数据时,该日期 +1
${system.datetime} : 日常调度实例定时的定时时间,格式为 yyyyMMddHHmmss,补数据时,该日期 +1
4.归纳总结:
${system.biz.date} 、${system.biz.curdate} 、${system.datetime} 这三个完全可以不用在补数的,直接在全局参数设置、自定义参数设置中使用也可以的。
${system.biz.date} 为日常调度实例定时的定时时间前一天(yyyyMMdd格式)
${system.biz.curdate} 为日常调度实例定时的定时时间(yyyyMMdd格式)
${system.datetime} 为日常调度实例定时的定时时间(yyyyMMddHHmmss格式)
参考文档
DolphinScheduler使用系统时间
https://xionglang.blog.csdn.net/article/details/125444442?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-125444442-blog-114333766.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-125444442-blog-114333766.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=6
大数据|海豚调度官方文档注解
https://blog.csdn.net/Changxing_J/article/details/134001440
Apache DolphinScheduler补数功能应用
https://blog.csdn.net/m0_58048130/article/details/129834825?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4-129834825-blog-126719140.235^v43^pc_blog_bottom_relevance_base6&spm=1001.2101.3001.4242.3&utm_relevant_index=7