실무에서 Kubernetes Executor 만큼 많이 사용되는 Celery Executor의 아키텍처에 대해 정리해보자.Celery ExecutorCelery Executor는 Airflow에서 작업(Task)를 여러 Worker에게 분산하여 처리하는 방식이다.Celery라는 분산 작업 큐 시스템을 사용하여 작업을 관리하고 분배한다.ComponentWeb Server: Web UI를 제공하며, 사용자가 DAG과 Task의 상태를 모니터링하고 관리할 수 있게 한다. Task를 수동으로 트리거할 수도 있다.Workers:실제로 할당된 Task를 실행한다. Celery Executor는 여러 Worker에게 Task를 분산하여 할당한다.Database: 메타데이터 데이터베이스로, DAG, Task, 스케줄링..
Data Engineering/Airflow
AirflowAirflow는 Python기반의 workflow scheduler이다. 오픈 소스 플랫폼으로 배치 작업을 개발, 스케줄링, 모니터링할 수 있다. DAG(Directed Acyclic Graph)은 자료구조에서 본 그 순환하지 않는 방향이 존재하는 그래프(DAG)가 맞다.Airflow에서 DAG은 하나의 워크플로우 파이프라인이며, DAG이라는 특성상, 반복이나 순환을 허용하지 않는다.(비순환성)노드(Task): DAG의 각 노드(여기서는 A~G)는 Task로, 실행할 작업을 의미한다. Task는 Python 함수, Bash 스크립트, SQL 쿼리 등 다양한 형태로 정의될 수 있다.간선(Edge): DAG에서 간선은 Task 간의 의존성을 나타낸다. 즉, 어떤 Task가 먼저 실행되어야 하고,..