Python 中的 Apache Airflow 入门
Mike Metzger
Data Engineer

{{ ... }} 表示模板替换
logical_date:Dag 运行发生的时间ds:logical_date 的 YYYY-MM-DD 格式logical_date.year、logical_date.month、logical_date.day:访问日期组件params:Dag 运行时参数macros.ds_add:支持日期计算@dag(dag_id=`sales_etl`, on_failure_callback=SmtpNotifier( to='[email protected]', from_email='[email protected]',subject='sales_etl on {{ logical_date }} has failed!' ) )
ds 的前一天(YYYY-MM-DD 格式的 logical_date)的文件macros.ds_addfilewatcher = FileSensor(
task_id="wait_for_files",
filepath="/data/{{ macros.ds_add(ds, -1) }}/input.csv",
...
)
ds 为 2026-04-30,路径为 /data/2026-04-29/input.csv
Python 中的 Apache Airflow 入门