15분
새벽 2시에 깨서 스크립트 돌려?
Day 4: Airflow 오케스트레이션
새벽 2시에 깨서 스크립트 돌려?
Phase 1 캡스톤: E2E 데이터 파이프라인 > 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 | 개별 작업 단위 |
| Operator | Task의 유형 (Python, Bash, Spark 등) |
| Dependency | Task 간 실행 순서 |
| Schedule | 언제 실행할지 (cron 표현식) |
| XCom | Task 간 데이터 전달 |