笑看天下无敌手 发表于 2025-4-9 15:00:20

5分钟掌握!DolphinScheduler时间参数动态配置秘籍

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_271CFB0C19C44A7D9E9097B0673F472F
在 DolphinScheduler 中,调理时对时间参数的利用非常紧张,尤其是当你在数据处置惩罚、ETL 任务或其他需要依赖时间范围的任务场景中。DolphinScheduler 允许通过多种方式灵活地配置时间参数,以顺应差异的任务调理需求。以下是时间参数在 DolphinScheduler 调理中的常见利用方法:
全局参数中的时间

DolphinScheduler 支持在工作流或任务中界说全局参数,时间参数可以作为全局参数进行配置,并在整个工作流或任务执行中利用。
界说时间全局参数:
在工作流配置界面,可以在「全局参数」中界说时间相关的参数。比方,界说一个表示当前日期的全局参数:

[*]key:current_date
[*]value:$
这样,你可以在任务的脚本中利用 ${current_date} 作为日期参数。
脚本示例:
echo "Current date is ${current_date}"当工作流执行时,${current_date} 会被解析为现实的日期(如 2024-10-14)。
时间窗口参数

时间窗口参数通常用于基于时间范围的数据处置惩罚任务,如定时从数据源中读取特定时间范围内的数据。DolphinScheduler 提供了通过内置表达式来动态生成时间窗口参数的方式。
常用的时间窗口参数有:

[*]${startTime}:表示任务的开始时间
[*]${endTime}:表示任务的竣事时间
时间窗口表达式示例:

[*]${}:表示前一天的开始时间(如 2024-10-13 00:00:00)
[*]${}:表示前一天的竣事时间(如 2024-10-13 23:59:59)
这些参数可以在任务脚本中利用,比如在进行前一天数据的批处置惩罚时,脚本如下:
startTime=${}
endTime=${}

echo "Processing data from $startTime to $endTime"
# 处理数据的命令动态参数解析:
在任务执行时,DolphinScheduler 会根据调理的时间将时间窗口参数解析为现实的时间值。这让任务能够根据执行时的时间,动态处置惩罚差异时间段的数据。
Cron表达式

DolphinScheduler 利用 Cron 表达式来配置任务的执行时间或调理频率。Cron 表达式允许用户精确控制任务的调理时间,比如每日执行、每周执行或每隔一段时间执行任务。
Cron表达式示例:

[*]天天的破晓1点执行任务:
0 0 1 * * ?

[*]每周一的破晓2点执行任务:
0 0 2 ? * 1 你可以在调理任务时通过 Cron 表达式界说何时运行任务,适用于定时作业的配置。
补数任务中的时间参数

DolphinScheduler 支持对错过执行的历史任务进行补数操作,补数任务通常也涉及到时间参数。利用补数任务时,可以指定某个时间范围,体系会自动按照这个时间范围重新执行任务。
补数任务设置:

[*]可以选择特定的日期范围来补充某个时间段未执行的任务。
[*]DolphinScheduler 在补数过程中,会根据补数的时间范围设置合适的时间参数,比如 ${startTime} 和 ${endTime}。
时间格式化与操作

DolphinScheduler 提供了一些时间格式化和操作功能,可以在时间参数中进行日期的加减操作。比方:

[*]${}:获取前一天的日期。
[*]${}:获取7小时前的时间。
你可以通过这些时间操作灵活设置任务调理的时间范围。比方,处置惩罚7天前到今天的数据:
#!/bin/bash
startTime=${}
endTime=${}

echo "Processing data from $startTime to $endTime"体系内置时间参数

DolphinScheduler 提供一些内置的时间参数,用户可以直接利用这些参数来实现基于当前调理时间的任务:

[*]${system.biz.date}:业务日期,一般表示调理任务的当前日期,格式为 yyyy-MM-dd。
[*]${system.biz.curdate}:当前日期的完整格式,格式为 yyyy-MM-dd HH:mm:ss。
这些内置参数可以在任务脚本中直接调用。比方:
#!/bin/bash
echo "Business date is ${system.biz.date}"时间依赖的任务链

在 DolphinScheduler 中,时间参数不仅可以在单个任务中利用,还可以通过工作流配置时间依赖的任务链。你可以在差异的任务中通报时间参数,使卑鄙任务根据上游任务的时间输出动态生成。
函数


[*]加减月份:add_months()

[*]后 N 年:$
[*]前 N 年:$
[*]后 N 月:$
[*]前 N 月:$

[*]加减天数:+-数字

[*]后 N 周:$
[*]前 N 周:$
[*]后 N 天:$
[*]前 N 天:$
[*]后 N 小时:$
[*]前 N 小时:$
[*]后 N 分钟:$
[*]前 N 分钟:$

总结

在 DolphinScheduler 中,时间参数的利用非常灵活,主要用于以下场景:

[*]定时调理:利用 Cron 表达式配置任务的执行时间。
[*]时间窗口:动态生成任务的时间范围,用于数据处置惩罚等场景。
[*]补数操作:在错过执行的任务中重新设置时间范围。
[*]时间格式化与操作:提供丰富的时间操作工具,可以进行日期加减运算。
[*]全局参数与体系内置参数:方便在工作流中通报和利用时间信息。
DolphinScheduler 中这些时间参数帮助用户精确控制任务的调理和执行,尤其是在数据处置惩罚、定时任务和流式盘算场景中。
原文链接:https://blog.csdn.net/youziguo/article/details/142919880
本文由 白鲸开源 提供发布支持!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 5分钟掌握!DolphinScheduler时间参数动态配置秘籍