首页 > 解决方案 > 在指定日期运行气流作业

问题描述

我需要安排我的 spark v3.0.2 工作在每年的指定日期(即 March31 和 Dec31)运行。我正在使用气流进行调度。

如何处理这个用例?

标签: apache-sparkcronairflow-schedulerairflow

解决方案


如果您只想在 3 月 31 日和 12 月 31 日运行您的工作,您可以在 DAG 定义的参数中设置一个cron 表达式。schedule_interval

Cron 表达式将0 0 31 3,12 *并且可以翻译为在第 3 个月(3 月)和第 12 个月(12 月)的第 31 天午夜运行。因此,您的 DAG 定义应为:

from airflow import DAG

your_dag = DAG(
    dag_id='your_dag_id',
    ...
    schedule_interval='0 0 31 3,12 *',
    ...
)

对于无法使用 cron 表达式定义的更复杂的情况,例如运行 April, 15th 和 August, 23rd ,我想你应该按照Iñigo 的建议做


推荐阅读