airflow(에어플로우)
airflow에서 backfill 실행
데이터왕
2024. 1. 3. 17:19
backfill을 할수 있는 조건
- 모든 dag가 backfill을 필요로 하지 않는다.(full refresh는 필요없음)
- 일별 시간별 업데이트 할때만 backfill이 필요하다.
- 데이터 소스에 그날 바뀌거나 새로생긴 레코드를 구분할수 있는 기능이 있어야함
- 데이터 크기가 커지면 backfill 기능을 필수적으로 구현
daily incremental dag에서 2018년 7월달 데이터를 다시 읽어와야 한다면
- 하루씩 지금까지 실행?
- 한번에 여러 날짜를 동시에 실행 , max_active_runs
- 예상되는 문제
1) 데이터를 요구받는 소스측에서 감당못해 속도를 줄일수 있음
2) 동시 실행시 충돌이 날수도 있음 - backfill 실행전 준비사항
1) catchup=True
2) execution_date 사용해서 incremental update가 구현돼있음. - 실행순서
1) 실행순서는 날짜/시간순 아니고 랜덤.
2) 날짜순으로 하고 싶으면 - 커맨드라인에서 실행
airflow dags backfill dag_id -s 2018-07-01 -e 2018-08-01