Airflow deployment на собеседовании Data Engineer
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем спрашивают на собесе DE
Airflow в production — отличается от dev. На собесе DE: «как ты deploy», «отличия executors».
Components
Webserver. UI.
Scheduler. Decides what to run when.
Worker. Executes tasks.
Triggerer. Async waiting (deferrable operators).
Metadata DB. Stores DAG state, runs, task instances. Postgres стандарт.
Message broker. Redis / RabbitMQ for Celery.
Executors
SequentialExecutor. Один task за раз. Только для dev.
LocalExecutor. Multiple parallel processes. Single machine.
CeleryExecutor. Distributed via message broker. Standard для production.
KubernetesExecutor. Каждая task — separate k8s pod.
CeleryKubernetesExecutor. Hybrid — Celery default, k8s для тяжёлых.
HA setup
Multiple schedulers. Airflow 2+ — поддержка multi-scheduler. Все active, distribute work.
Multiple webservers. Behind LB.
Workers. Scale horizontally.
Metadata DB. Postgres с replication / managed (RDS Multi-AZ).
Message broker. Redis cluster или RabbitMQ HA.
Один scheduler / DB outage — pipeline halts.
Kubernetes Executor
# каждая task spawns its own pod
executor_config={
"pod_override": k8s.V1Pod(
spec=k8s.V1PodSpec(
containers=[k8s.V1Container(
name="base",
image="ml-task-image:v1.2",
resources=...
)]
)
)
}Pros:
- Resource isolation per task.
- Different images / dependencies для разных tasks.
- Auto-scaling через k8s.
Cons:
- Pod startup time (10-60s overhead).
- k8s expertise required.
Managed services
Astronomer. Managed Airflow.
AWS MWAA (Managed Workflows for Apache Airflow).
GCP Cloud Composer.
Azure Data Factory — не Airflow, но similar.
В РФ: чаще self-hosted на Yandex Cloud / VK Cloud / on-prem k8s.
Альтернативы Airflow:
- Dagster. Modern, asset-centric.
- Prefect. Python-native, simpler.
- Argo Workflows. k8s-native.
- Apache Beam. Unified batch / streaming.
Связанные темы
- Airflow на собесе DE
- Airflow XCom для DE
- Airflow Sensors для DE
- Airflow backfill для DE
- Подготовка к собесу Data Engineer
FAQ
Сколько workers?
Зависит от concurrency. Эмпирика: parallelism = workers × parallelism per worker. Start с 4-8 workers, scale.
Это официальная информация?
Нет. Статья основана на документации Airflow 2.7+.
Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.