<aside> 💡
</aside>
Apache Airflow는 데이터 파이프라인을 자동으로 스케줄링하고 모니터링할 수 있게 해주는 워크플로우 오케스트레이션 도구입니다.
즉, “복잡한 데이터 처리 과정을 코드로 정의하고 자동화”할 수 있게 해주는 플랫폼입니다.
💡 간단히 말해, ‘데이터 작업의 cron + 모니터링 + 의존성 관리’ 역할을 합니다.
| 개념 | 설명 |
|---|---|
| DAG (Directed Acyclic Graph) | 작업(Task) 간의 의존 관계를 정의한 그래프. Airflow 파이프라인의 뼈대. |
| Task | 실제 실행되는 단위 작업. (예: 기사 크롤링, DB 적재, Slack 알림 등) |
| Operator | 특정 작업을 수행하는 모듈. 예: PythonOperator, BashOperator, S3UploadOperator |
| Scheduler | DAG을 읽고, 지정된 시간에 Task 실행을 트리거하는 컴포넌트. |
| Executor | 실제로 Task를 실행하는 엔진. Local / Celery / Kubernetes 등 다양. |
| Webserver | DAG 상태와 로그를 시각적으로 확인할 수 있는 UI 서버. |
| Metadata DB | DAG 실행 이력과 상태 정보를 저장하는 데이터베이스. |
| Log | 각 Task의 실행 로그. S3나 EC2 볼륨에 저장 가능. |
기사 수집 → 정제 → DB 적재 → Slack 알림 등
여러 단계를 의존 관계 기반으로 자동 실행 가능
기존 cron보다 훨씬 유연한 스케줄 및 실패 재처리 가능
💡 아래 페이지에 Airflow 설치 및 설정 방법이 상세히 나와있습니다.
Airflow를 설치하고 초기화하면(airflow db init),