我需要安排一个每隔一天运行一次的作业(如果开始时间是周一,然后是周三、周五、周日…(。但在databricks中,作业调度程序选项仅适用于天、周、月和年。
您只需要将schedule指定为cron表达式,而不需要使用UI选项。Databricks作业使用Quartz语法,因此对于您的案例表达式将如下所示(在需要启动作业时填充秒/分钟/小时(:
seconds minutes hours * * 1,3,5,7
cron触发器表达式由6个用空格分隔的字段组成:
- 秒(0-59(
- 分钟(0-59(
- 小时(0-23(
- 一个月的哪一天(1-31(
- 月份(1-12(
- 一周中的某一天(0-6,0=周日(
- 年份(可选,默认为当前年份(
对于给定的时间表,表达式为:0 0 0 1/2*?
这意味着计划将每隔一天在午夜(第0分钟和第0小时(运行(第三个字段中的/2(。第4个和第5个字段不相关,因此它们被设置为通配符((。
总之,此时间表将每隔一天在凌晨12:00运行
我在databricks中尝试了以下时间表,它接受cron作为有效的时间表。你也可以试试下面的cron和@alex-ott的答案。
seconds minutes hours ? * 1,3,5,7
当您指定day of the week
时,您的day of the month
应该是?
。