catchup

Data Engineering/Airflow

[Airflow] DAG Trigger 시 DAG Run이 동시에 두 개가 생성되는 문제

DAG Trigger 시 DAG Run이 동시에 두 개가 생성되는 문제새로운 DAG를 생성한 뒤 처음으로 Trigger 하거나, DAG의 실행을 중단한 뒤 나중에 다시 Trigger 하는 경우 DAG Run이 두 개가 동시에 생성되는 상황이 발생한다. catchup을 False로 설정해 Backfill이 없는데도 말이다. 여기서 Backfill은 DAG의 start_date부터 현재까지 중간에 없는 DAG Run을 생성하는 기능이다.현재 작성 중인 DAG는 API로부터 데이터를 추출하고 S3에 parquet으로 저장한 뒤 Redshfit에 COPY 하는 ETL 과정을 담고 있는데, 동시에 실행될 경우 Redshift 동시 접근으로 인한 에러가 발생하는 경우가 존재한다. 또한 S3의 File Partiti..

Data Engineering/Airflow

[Airflow] DAG Scheduling과 Execution

Airflow Scheduling과 Execution개요Airflow 관리Airflow를 사용하면서 반드시 알아야 할 것이 "작성한 DAG가 언제, 얼마나 실행되는가?"일 것이다. Airflow에서는 관련 개념을 숙지하지 않으면, 해당 DAG의 실행 유무에 대한 답을 내릴 수 없다. 그래서 Airflow를 활용해 DAG를 제대로 관리하기 위해서는 start_date, execution_date와 더불어 관련 개념을 이해해야 한다.DAG 선언 예시일반적인 DAG를 선언한 예제이다. 해당 Job이 "2024-06-09 04:00:00"에 활성화될 때, 총 몇 번의 DAG가 실행되는지 바로 떠올리기는 쉽지 않다. 그러나 관련 용어의 개념과 타임테이블을 반복적으로 이해하다 보면, 어렵지 않게 떠올릴 수 있을 것..

기억에 남는 블로그 닉네임
'catchup' 태그의 글 목록