바스 하렌슬락, 율리안 더라위터르, 『Apache Airflow 기반의 데이터 파이프라인』, 김정민, 문선홍, MANNING-제이펍(2022), p20-40.
DAG
- 모든 워크플로의 시작점
- 워크플로 내의 모든 태스크는 DAG 개체를 참조함
- parameter
- dag_id: Airflow UI에 표시되는 DAG 이름
- start_date: 워크플로가 처음 실행되는 시간
- schedule_interval: DAG 실행 간격
- 의존성(dependency)
- 각 오퍼레이터는 서로 독립적으로 실행할 수 있음 (순서 정의 필요)
- 화살표 >>(rshift)는 태스크 실행 순서를 설정 → 의존성 정의
Task vs Operator
- operator: 단일 작업 수행 역할
- BashOperator, PythonOperator, SimpleHTTPOperator, etc..
- DAG는 operator 집합에 대한 실행을 orchestration 하는 역할
- task: 작업의 올바른 실행을 보장하기 위한 operator의 wrapper or manager 역할
- 사용자는 operator를 활용해 수행할 작업에 집중
- Airflow는 task를 통해 작업을 올바르게 실행
Airflow UI
- DAG의 구조 (Graph)
- 'On' 상태
- DAG 실행
Scheduling
- DAG parameter → schedule_interval에서 설정
- e.g. @daily (= 0 0 * * *)
- cron 형식으로 기재할 수 있음
- 분 / 시간 / 일 / 월 / 요일
- 요일: 0-7 (0, 7 → 일요일)
- 분 / 시간 / 일 / 월 / 요일
반응형
'Workflow' 카테고리의 다른 글
Chapter 3. Apache DAG의 구조 (1) | 2024.01.21 |
---|---|
Chapter 1. Apache Airflow 살펴보기 (1) | 2024.01.10 |
댓글