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로 메세지를 전달하는 역할 수행