15

새벽 2시에 깨서 스크립트 돌려?

Day 4: Airflow 오케스트레이션

학습 목표

오케스트레이션의 필요성을 이해한다 Airflow의 역할을 파악한다

새벽 2시에 깨서 스크립트 돌려?

"파이프라인은 새벽 2시에 돌아야 해."

어제까지 만든 코드:

  • extract_users.py
  • extract_events.py
  • transform_staging.py
  • transform_warehouse.py

매일 새벽 2시에 이걸 순서대로 실행해야 한다. 어떻게 할까?


방법 1: Cron + Shell Script (나쁜 방법)

에디터 로딩 중...

문제점:

  • extract가 실패해도 transform이 실행됨
  • 어디서 실패했는지 모름
  • 재실행이 불편함
  • 모니터링이 없음

방법 2: Airflow (좋은 방법)

에디터 로딩 중...

Airflow의 장점:

  • 의존성 관리: Extract 성공해야 Transform 실행
  • 재시도: 실패 시 자동 재시도
  • 모니터링: Web UI에서 상태 확인
  • Backfill: 과거 날짜 재처리 가능
  • 알림: 실패 시 Slack 알림

오늘 만들 것

에디터 로딩 중...

Airflow 핵심 개념

개념설명
DAG전체 워크플로우 정의
Task개별 작업 단위
OperatorTask의 유형 (Python, Bash, Spark 등)
DependencyTask 간 실행 순서
Schedule언제 실행할지 (cron 표현식)
XComTask 간 데이터 전달