본문 바로가기
Apache/Airflow

Airflow 간단 개념

by 잼있는잼니 2023. 5. 3.

Airflow란?

  • Airflow는 AirBnB에서 만든 워크플로우 시스템이다.
  • Airflow는 워크플로우를 작성하고, 스케줄링하며 모니터링작업을 프로그래밍 할 수 있게 해주는 플랫폼이다.
  • 파이썬으로 쉬운 프로그래밍이 가능하고, 웹 대시보드가 있으며, 커스터마이징이 가능하다.

Architecture Overview — Airflow Documentation (apache.org)

  • Airflow는 위와 같은 구조로 이루어져 있다.
  • 작동 방식은 DAG Directory에 DAG 파일을 Scheduler와 Webserver가 읽고, Executor가 Worker에게 이 DAG의 Task를 주어 Worker들이 Task를 시작하게 한다.
  • Metadata에는 스케줄러, 워커, 웹서버의 상태를 저장하고, 이를 UI를 통해서 DAG 작업 동작 확인, 트리거, 디버그등 확인할 수 있게 된다.

  • 여기서 DAG(Directed Acyclic Graph)는 유향 비순환 그래프로 아래 그림처럼 a - b,c - d 순으로 방향성을 가지며, 종속성 관계로 구성이 되는 특징이 있다. a가 끝난후 b와c가 실행되고, b와c가 끝나면 d가 실행되는 그래프이다.

  • Airflow에서의 Operator는 다양한 Operator가 있으며, 흔히 알려진 Operator는 Bash, Python, Email 이 있다.
  • Executor는 작업을 실행시키는 실행기로, SequentialExecutor(기본), LocalExecutor, CeleryExecutor등이 있다.

'Apache > Airflow' 카테고리의 다른 글

GCP VM으로 Airflow 구축하기  (0) 2023.06.04
Airflow(celeryexecutor - docker-compose)  (1) 2023.05.13
Airflow-(celeryexecutor)  (0) 2023.05.07

댓글