Data engineering/Airflow
Airflow 시작 - 구조(개론)
amelia-suyeon
2023. 5. 1. 20:12
Airflow는 크게, 다음과 같은 구조를 가집니다.
- Scheduler - Airflow의 DAG와 작업들을 모니터링 하고 실행 순서와 상태 관리
- Worker - Airflow의 작업을 실행하는 공간
- Metadata Database - Airflow에서 실행할 작업에 관한 정보들을 저장 (로그와 비슷)
- Webserver - airflow 의 User Interface 제공
- DAG Directory - airflow에서 실행할 작업들을 파이프라인 형태로 저장
- DAG란? Directed Acylic Graph 의 약자로, 비순환 방향 그래프를 의미. 그래프 구조에 기반한 데이터 탐색 알고리즘이며, 주로 작업(TASK)의 우선순위/순서를 표현하기 위한 용도로 사용됨
→ Airflow는 Scheduler가 DAG Directory의 작업을 가져와서 Worker에서 실행하는 형태
<docker를 사용하려는 경우 docker-compse로 6개의 컨테이너를 한번에 생성 해야 함>
→ airflow 이미지가 각각 scheduler, worker, webserver, flower + PostgreSQl , Redis 의 컨테이너 필요
- PostgreSQL은 Airflow의 설정 정보, DAG과 작업들의 메타 정보등을 저장함
- Redis는 메세지 브로커로서 Scheduler에서 Worker로 메세지를 전달하는 역할 수행