1. Backfill이란?
Airflow를 운영하다 보면 시스템 다운타임이나 일시적인 오류로 인해 특정 기간의 DAG가 실행되지 않는 경우가 있습니다.
이때 Backfill 기능을 활용하면 지정한 기간 동안 누락된 DAG 실행을 “과거로 되돌아가” 수행할 수 있습니다.
즉, 지정된 시간 구간(start_date ~ end_date)에 대해 DAG를 재실행하여 누락된 데이터를 채워 넣는(filling in) 과정입니다.
📅 예를 들어 아래 그림처럼,
2024년 11월 1일부터 3일까지의 DAG가 실행되지 않았을 때,
backfill 명령을 통해 이 기간의 태스크를 다시 실행할 수 있습니다.
✅ 오늘 날짜(2024-11-04) 기준으로 이전의 모든 DAG 런을 다시 채워 넣는 기능입니다.
2. 명령어 사용법
터미널에서 다음과 같은 형식으로 명령을 실행합니다.
airflow dags backfill <dag_id> -s <start_date> -e <end_date>
예시:
airflow dags backfill my_dag -s 2024-11-01 -e 2024-11-03
3. 유용한 옵션(Arguments)
| 옵션 | 설명 |
| --mark-success | 해당 DAG 런을 성공 처리로 표시(실제 실행 없이 성공으로 간주) |
| --reture-falied-tasks | 실패한 태스크만 재실행 |
| --reset-dagruns | 기존 DAG 런 기록 초기화 후 다시 실 |
| --disable-retry | 태스크 재시도 기능 비활성화 |
| --continue-on-failures | 일부 태스크 실패 시에도 나머지 태스크 계속 실행 |
정리하면
Backfill은 Airflow DAG 관리에서 매우 중요한 유지보수 기능 중 하나입니다.
데이터 누락이나 오류로 인한 공백을 자동으로 메우며,
데이터 파이프라인의 연속성과 정확성을 보장하는 핵심 도구입니다.
'컨테이너·워크플로우 자동화 > Airflow로 워크플로우 자동화하기' 카테고리의 다른 글
| Airflow + Docker 환경 구성 시 분리해야 할 것들 (0) | 2025.12.29 |
|---|---|
| Airflow 설치부터 Docker Compose 연결: 문제 정리 (0) | 2025.12.29 |
| Airflow TaskFlow API: 더 직관적인 파이썬 방식으로 DAG를 설계 (0) | 2025.10.19 |
| Airflow 실전 팁 정리 — DAG 설계부터 변수 관리까지 (0) | 2025.10.19 |
| Airflow Edge Label — 그래프 관계를 더 명확하게 표시하기 (0) | 2025.10.19 |