Apache Airflow

김도비·2022년 9월 18일
0

Workflow

목록 보기
3/3

Apache Airflow 란?

현 회사에서는 데이터 ETL을 자사 솔루션을 통해 하기에 다른 곳에서는 어떤 방식으로 하는 지 궁금하기에 조사를 해봤다.
그 와중에 Apache Airflow / Apache NiFi 를 많이 듣게 됬고, Airflow 에 대해서 조사를 해봤다.

Airflow는 프로그래밍 방식으로 워크플로우를 작성,스케줄링 및 모니터링하는 오픈 소스 플랫폼이고 에어비앤비에서 만들어졌다.

Airflow 특징으로는

  • Dynamic : 에어플로우 파이프라인(동작순서, 방식)을 파이썬 코드를 이용하여 구성하기 때문에 동적인 구성이 가능
  • Extensible : python 이용하여 Operator, executor를 사용하여 사용자의 환경에 맞게 확장하여 구성하는 것이 가능함
  • Elegant : 에어플로우 파이프라인은 간결하고 명시적이며, 진자 템플릿(jinja template)을 이용하여 파라미터화 된 데이터를 전달하고 자동으로 파이프라인을 생성하는 것이 가능
  • Scalable : 분산구조와 메시지큐를 이용하여 많은 수의 워커간의 협업을 지원하고, 스케일 아웃이 가능함

AirFlow 아키텍쳐

  • Scheduler
    실행 주기가 되면 작업 생성
    의존 작업이 모두 성공되면 Broker에게 넘김

  • Worker
    실행 주기가 되면 작업을 생성

  • Broker
    실행가능한 작업들이 들어가는 공간

  • Meta DB
    DAG, Task 등이 정의되어있음
    DAG run, Task Instance 관리

profile
모든 걸 기록하자

0개의 댓글

Powered by GraphCDN, the GraphQL CDN