반응형
"작업(Job)들을 순서대로 자동 실행하고, 모니터링하고, 실패 시 재시도까지 해주는 파이썬 기반 플랫폼"
주로 데이터 파이프라인을 짤 때 사용돼요.
📦 무엇을 할 수 있나요?
Airflow는 다음과 같은 작업들을 자동화해줘요:
- 데이터 수집 → 정제 → 분석 → 저장
- ETL (Extract → Transform → Load)
- 머신러닝 모델 학습 → 테스트 → 배포
- 보고서 자동 생성 후 이메일 발송
🧩 구성요소 간단정리
구성요소설명
DAG | Directed Acyclic Graph: 작업 흐름을 정의하는 "설계도" |
Task | DAG 안에 포함된 하나의 작업 단위 |
Operator | 실제 실행 로직 (예: BashOperator, PythonOperator 등) |
Scheduler | DAG 실행 스케줄 관리 (언제 어떤 DAG을 실행할지 결정) |
Webserver | DAG 상태 확인, 실행 내역 확인 등을 위한 웹 UI |
Worker | 작업(Task)을 실제로 실행하는 프로세스 |
🔁 예시 그림
[1] 수집 Task ─→ [2] 정제 Task ─→ [3] 저장 Task
↓
실패 시 Slack 알림 Task
🧠 왜 많이 쓸까?
- 코드로 파이프라인 관리 가능 (Python!)
- 작업 실패 시 자동 재시도, 알림 가능
- DAG별로 의존 관계 설정 가능
- 웹 UI로 실시간 모니터링 가능
- Kubernetes, Celery, Docker와도 연동 가능
✨ 한 줄 요약:
Airflow는 '언제 어떤 작업을 어떤 순서로 어떻게 실행할지'를 자동으로 관리해주는 데이터 작업 스케줄러입니다.
반응형