반응형
Apache Airflow 란?
- airflow는 에어비엔비에서 만든 worflow를 만드는 오픈소스 프로젝트입니다.
- 정확한 시간에, 정확한 방법으로, 정확한 순서대로 실행하게 해주는 오케스트레이터입니다.
- 데이터 엔지니어링의 ETL작업을 자동화고, DAG(Directed Acyclic Graph) 형태의 workflow 작성이 가능합니다.
- webserver, scheduler,executor, worker 등으로 구성되어 있습니다.
- datapipeline을 구성할 때 주로 사용됩니다.
구성요소 설명
- Scheduler : DAG와 작업들을 모니터링하고 task의 실행 순서와 상태관리를 합니다.
- MetaStore : 실행할 Task의 관한 정보를 정해 놓습니다.
- Executor : 스케쥴러와 함께 동작하는 구성요소입니다. ex) Sequential Executor, Celery Executor, Local Executor, Kubernetes Executor 등이 있습니다.
- Worker : 실제 Task를 실행하는 주체입니다. Executor 종류에 따라 동작 방식이 다양합니다.
- Web server: Airflow의 웹 UI서버입니다.
Airflow Operator
- 각 Airflow DAG는 여러 TASK로 이뤄져 있습니다.
- BashOperator : bash command를 실행
- PythonOperator: Python 함수를 실행
- MySQLOperator : SQL쿼리를 수행
DAG란?
- DAG란 (driected acyclic graph)로 비순환 단방향 구조로 이뤄져 있습니다.
- DAG는 Task들로 구성되어 있습니다.
- TASK는 operator의 인스턴스입니다.
마무리
다음 포스팅은 EC2환경위에 Airflow를 설치하는 과정을 포스팅하도록 하겠습니다. 감사합니다 :-)
참고:
https://6mini.github.io/data%20engineering/2021/12/29/airflow/
https://passwd.tistory.com/entry/Apache-Airflow%EB%9E%80
https://lsjsj92.tistory.com/631
https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/overview.html
'Apache > Apache Airflow' 카테고리의 다른 글
EC2내에 Airflow 2.3.2 설치 정리 (0) | 2023.07.06 |
---|