본문 바로가기
Workflow

Chapter 2. Apache DAG의 구조

by Night Fury 2024. 1. 15.
바스 하렌슬락, 율리안 더라위터르, 『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)

dag 구조

 

  • 'On' 상태

On status

 

  • DAG 실행

click DAG trigger

 

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

댓글