Airflow (1)

이석영·2021년 4월 21일
0

Airflow란?

  • Apache에서 제공하는 Python 기반의 Workflow 관리 도구
  • 워크플로우 관리를 위한 DAG(Directed Acyclic Graph)생성 및 실행
  • 공식사이트

Generated Airflow DAG 화면

Airflow Principle

  • Dynamic: Airflow pipelines are configuration as code (Python), allowing for dynamic pipeline generation. This allows for writing code that instantiates pipelines dynamically.

  • Extensible: Easily define your own operators, executors and extend the library so that it fits the level of abstraction that suits your environment.

  • Elegant: Airflow pipelines are lean and explicit. Parameterizing your scripts is built into the core of Airflow using the powerful Jinja templating engine.

  • Scalable: Airflow has a modular architecture and uses a message queue to orchestrate an arbitrary number of workers. Airflow is ready to scale to infinity.

Airflow Architecture


Web Server
: Web UI로 workflow 상태를 표시하고 각종 기능(실행, 재시작, 로그, 권한 관리)을 제공
Scheduler
: Task와 DAG를 관리한다.
Executor
: operator가 작업을 수행하는 방식을 결정한다.
Worker(s)/Operator
: 실제 작업(task)을 수행하는 역할을한다.
Metadata DB
: dag 정보, 실행이력, 스케줄링 이력, 유저 정보 등 실행하는 workflow에 필요한 메타데이터를 저장한다.

참고

profile
원하는 대로 살자

0개의 댓글