Airflow 사용기 (2) - 용어

code_able·2023년 3월 1일
0

기본 용어

  • DAG: DAG 구조를 의미하기도 하며 하나의 DAG구조로 된 스케줄을 DAG라고 부름. 워크플로우 단어와 동일하게 사용

  • Task: DAG에 속한 하나하나의 노드를 Task로 부름

  • Upstream (Downstream): 워크플로우 기준 A -> B 구조일 때 A는 B의 Upstream, 반대로 B는 A의 Downstream

  • backfill: 이전 날짜에 실행되지 않았던 dag의 task를 실행하는 프로세스

설정 관련 용어

  • retries: DAG 작업이 제대로 안 됐을 때 설정한 시간 후에 설정한 횟수만큼 재실행 돌아감. Retry까지 다 실패해야 fail

  • retry_delay: 설정한 시간 뒤에 실행함을 의미한다. timedelta 모듈을 사용하여 딜레이 시간을 정의한다.

  • start_date : DAG의 시작일자. DAG를 스케줄에 등록한 일자와 별개로 2021-08-15에 스케줄 등록을 해도, start_date가 2021-08-01이면 8월1일이 시작일자. 이 경우 스케줄 등록 시점 이전 14일이 진행되지 않았기에 이때부터 스케줄이 돌아감 (이런 액션을 backfill이라 부름. 원치 않으면 DAG 설정할 때 catchup=False로 설정)반대로 start_date가 2021-09-01이면 스케줄 등록해도 돌지 않음

  • end_date : DAG의 종료일자

  • schedule_interval : 스케줄이 돌아가는 텀. @daily, timedelta(days=1), crontab(‘0 8 * * *‘)과 같이 설정 가능

  • wait_for_downstream: 특정 task가 종료 된 후 다음 task를 실행 시킬 수 있는 설정

  • sla: 지정된 시간 내에 완료되지 않으면, Airflow는 이를 실패로 처리하고 이후 DAG 실행에 대한 경고를 발생시킵니다.

  • execution_timeout: 지정된 시간 내에 완료되지 않으면, 해당 task를 종료 시킴

  • on_failure_callback: task가 실패했을 때 지정된 콜백 함 수를 실행

  • on_success_callback: task가 성송 했을 때 지정된 콜백 함수를 실행

  • on_retry_callback: task를 retry할때 지정된 콜백 함수를 실행

  • catchup: 이전 기간에 대해 task를 실행할지 여부를 지정

profile
할수 있다! code able

0개의 댓글