[Airflow] 에어플로우 작업 병렬처리
에어플로우에서 작업 병렬처리를 하기 위한 조건을 알아보자
Airflow에서의 병렬 처리
1. Airflow의 Executor
- 병렬처리는 어떤 Executor를 사용하는지에 따라 가능 여부가 달라진다.
- Sequential Executor는 병렬처리가 불가능하며, Local 또는 Celery Executor는 병렬처리가 가능하다.
- 따라서 병렬처리를 하기 위해서는 Local, Celery 등의 Executor가 필요하며
- 따라서 PostgreSQL이나 MySQL과 같은 메타데이터 DB가 반드시 필요하다. (내부 SQLite만으로는 불가)
2. LocalExecutor와 CeleryExecutor 비교
| 구분 | LocalExecutor | CeleryExecutor |
|---|---|---|
| 병렬 처리 | 가능 (한 컴퓨터 내 프로세스 단위) | 가능 (여러 컴퓨터/워커 단위) |
| 필요 서비스 | Airflow + Postgres | Airflow + Postgres + Redis + Worker |
| 복잡도 | 낮음 (설정 간단) | 높음 (관리할 컨테이너 많음) |
| 장점 | 리소스를 적게 먹고 관리가 쉬움 | 워커를 수십 대까지 늘릴 수 있음(확장성) |
| 적합한 상황 | 개인 프로젝트 또는 소규모 서비스 | 대규모 데이터 엔지니어링 팀 |
// reading compass
이 글과 이어지는 경로
시리즈, 카테고리, 태그 겹침, 최신도를 점수화해 가까운 글일수록 중심에 배치합니다.
댓글 남기기