Apache Airflow
Summary
Python 코드로 워크플로를 정의·스케줄·모니터링하는 오픈소스 플랫폼. DAG(Directed Acyclic Graph) 단위로 태스크 의존성을 표현하며, DAP의 ETL 오케스트레이션·머신러닝 파이프라인 스케줄 운영에 사용된다.
Python 코드로 워크플로를 정의·스케줄·모니터링하는 오픈소스 플랫폼. DAG(Directed Acyclic Graph) 단위로 태스크 의존성을 표현하며, DAP의 ETL 오케스트레이션·머신러닝 파이프라인 스케줄 운영에 사용된다.
개요
Airflow는 Airbnb에서 시작해 Apache Software Foundation이 관리하는 워크플로 오케스트레이터다. 핵심 구성 요소는 Scheduler(DAG 파싱·스케줄), Executor(태스크 실행), Metadata DB(상태 저장), Web UI(모니터링)로 나뉜다.
DAP 환경에서는 상품추천 모델 Python 스크립트의 정기 실행, Redshift 데이터 적재, GoldenGate → S3 → Redshift 파이프라인 후처리 등을 Airflow DAG로 오케스트레이션한다.
주요 사실
- Scheduler가
dags_folder를 기본 30초(min_file_process_interval)마다 파싱 → top-level 코드 회피 필수 (출처: astronomer-dag-best-practices) retries=2가 분산 환경 대부분의 일시적 오류를 커버 (출처: astronomer-dag-best-practices)- Provider packages로 Redshift, S3, Slack, Postgres 등 서드파티 연동 제공 (출처: astronomer-dag-best-practices)
- Executor 종류: LocalExecutor → CeleryExecutor → KubernetesExecutor (규모·격리 수준 순) (출처: top-10-airflow-best-practices-data-engineers)
관련 개념
- dag-idempotency — DAG 설계의 핵심 원칙
- airflow-dag-design-patterns — 실전 설계 패턴 모음
관련 엔티티
- ibm-datastage — DAP에서 Airflow가 잡 스케줄링을 담당하는 ETL 플랫폼