에어플로우에서 작업 병렬처리를 하기 위한 조건을 알아보자

Ops

1 분 읽기

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

이 글과 이어지는 경로

시리즈, 카테고리, 태그 겹침, 최신도를 점수화해 가까운 글일수록 중심에 배치합니다.

hover nodes or cards · click a node to pin
Next reads 0

    댓글 남기기