[Airflow] Catchup, Backfil
Airflow는 스케줄 된 작업을 실행하고, 종속성을 관리하기 위해 DAG를 사용함
DAG는 작업 간의 종속성을 정의하고, 작업을 스케줄링하고, 작업 상태를 추적하는 데 사용됨
그렇다면 스케줄링과 관련된 Airflow의 catchup과 backfill에 대해서 알아보자
1. Catchup
Airflow의 DAG 스케줄러 설정 중 하나
catchup이 활성화되면, DAG가 처음 생성된 날짜 이후에도 이전 날짜의 실행을 캐치업함
즉 DAG가 생성된 이후에 실행되어야 하는 작업 중, 현재 날짜부터 이전에 실행되지 않은 작업들을 자동으로 실행
DAG가 매일 실행되도록 예약이 되었지만, catchup이 활성화되어 있다면, DAG가 생성된 이후에 실행되어야 하는 작업들 중 오늘까지 실행되지 않은 작업들이 자동으로 실행
catchup을 사용하면 이전 작업들을 간단하게 실행할 수 있어, 과거 데이터를 처리하는 데 유용
2. Backfill
backfill은 Airflow에서 과거 날짜의 작업을 실행하는 프로세스를 의미
backfill은 일련의 DAG작업을 과거의 날짜에 대해 실행하는 기능을 제공
예를 들어, 새로운 DAG를 생성하고 날짜별로 실행되도록 예약했을 때, backfill을 사용하여 DAG를 생성된 날짜 이전부터 현재까지의 모든 날짜에 대해 작업을 실행할 수 있음
이렇게 하면 과거 데이터에 대한 작업을 쉽게 처리 가능
3. Backfill과 Catchup
backfil은 catchup과 함께 사용될 수 있음 catchup이 활성화되어 있으면 backfill을 사용하여 이전 작업을 실행할 수 있고
catchup이 비활성화되어 있으면 backfill은 이전 작업을 실행하지 않음
요약
catchup은 DAG가 생성된 이후에도 이전 날짜의 실행을 캐치업하는 기능을 제공
Backfill은 과거 날짜에 대한 작업을 실행하는 프로세스를 의미
두 기능은 데이터 처리 및 작업 스케줄링을 유연하게 관리하는 데 도움을 줌
'💾 Data > Airflow' 카테고리의 다른 글
[Airflow] 병렬 처리 Task (0) | 2023.06.22 |
---|---|
[Airflow] Airflow CLI 명령어 (0) | 2023.05.28 |
[Airflow] airflow decorators (0) | 2023.05.18 |
[Airflow] Variables (0) | 2023.05.11 |
[Airflow] 멀티 클러스터 환경 구성 (Celery Executer) (0) | 2023.04.30 |