Airflow란 ?
Airlfow는 Airbnb에서 개발한 워크플로우 스케쥴링, 모니터링 도구로 현재는 Apache 프로젝트가 되었다.
Airflow 는 DAG라는 개념으로 동작하는데 python으로 DAG를 작성하고 순서를 정의할 수 있다.
현재도 활발한 개발이 이루어지고 있으며 1.10.0 버전이 2018.8.9 배포된 이후 현재 2020.12.1일 현재를 기준으로 1.10.13버전까지 배포되었으며 2.0대의 버전도 꾸준히 개발되고 있다.
빅데이터를 활용하는 많은 곳에서 활용하는 도구로 비슷한 도구에는 oozie가 있으며, oozie와의 비교는 추후에 포스팅할 예정
Airflow의 특성
Dynamic : Airflow pipeline을 python을 이용해 구성하기 때문에 동적인 구성이 가능
Extensible : python을 이용해 Operator,executor을 사용해 사용자 환경에 맞게 확장 사용 가능
Elegant : 간결하고 명시적이며 jinja template를 이용해 parameter를 이용해 데이터를 전달하고 파이프라인을 생성하는 것이 가능
Scalable : 분산구조와 메세지큐를 이용해 scale out와 워커간 협업을 지원
Airflow Architecture
Architecture에서 보는 것과 같이 Airflow는 Scheduler,Webserver,Worker,MetaDB로 구성된다.
- WebServer : DAG,user,connection,xcom,variable관리를 할 수 있는 UI 제공
- Scheduler : 모든 작업과 DAG를 관리하고 실행시키는 역할을 하며,PostgreSQL 9.6 MySQL 8 이상의 버전에서 HA기능까지 제공
- Executor : Worker의 동작방식에 대한 정의를 하는 부분으로 Local,Sequential,Celery 등 다양한 Executor방식을 제공
- MetaDB : 실행중인 데이터 파이프 라인에 대한 메타 데이터를 저장
'IT > 인프라' 카테고리의 다른 글
서버 보안 방화벽 (0) | 2022.08.17 |
---|---|
bypass와 oversubscription 차이점 (0) | 2022.08.17 |
이메일 관련 보안 기술 SPF,DKIM,DMARC에 대하여 알아보자 (0) | 2022.06.30 |
Batch란 ?? (0) | 2022.06.16 |
DNS란 ? (0) | 2022.05.17 |