Python으로 배우는 Apache Airflow 입문
Mike Metzger
Data Engineer

{{ ... }}는 템플릿 대체를 의미
logical_date: DAG 실행 시점ds: YYYY-MM-DD 형식의 logical_datelogical_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(logical_date, YYYY-MM-DD) 하루 전 파일 탐색macros.ds_add 사용filewatcher = 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 입문