Вопрос проверяет знание основных категорий операторов Airflow и умение выбирать подходящий оператор под конкретную задачу.
В Airflow существуют операторы для выполнения кода, работы с базами данных, взаимодействия с внешними сервисами и управления зависимостями. Самые базовые — PythonOperator, BashOperator и SQL-операторы. Есть операторы для облачных сервисов и Kubernetes. Также существуют специальные операторы для управления workflow. Обычно выбирают самый простой оператор, который решает задачу.
Airflow предоставляет большое количество операторов, но все они укладываются в несколько логических категорий. Понимание этих категорий упрощает проектирование DAG.
Airflow operator types — это группы операторов, объединённых по назначению и способу выполнения задач.
Это операторы общего назначения, которые используются чаще всего.
Используется для выполнения Python-функций.
подходит для лёгкой логики;
часто выступает «клеем» между шагами.
Выполняет shell-команды.
полезен для скриптов;
часто применяется для утилит и CLI.
Эти операторы инкапсулируют работу с SQL и хранилищами.
Примеры:
PostgresOperator;
MySqlOperator;
ClickHouseOperator (через провайдеры).
Они:
выполняют SQL-запросы;
управляют транзакциями;
упрощают подключение.
Используются для передачи данных между системами.
Примеры задач:
копирование данных из БД в хранилище;
загрузка файлов;
перенос данных между сервисами.
Это удобно для ETL-сценариев.
Airflow имеет интеграции с облаками.
Примеры:
операторы для S3, GCS;
KubernetesPodOperator.
Они позволяют:
запускать задачи в контейнерах;
масштабировать нагрузку;
изолировать окружение.
Отвечают за управление workflow, а не за бизнес-логику.
Примеры:
DummyOperator;
BranchPythonOperator;
ShortCircuitOperator.
Они помогают:
строить условную логику;
управлять ветвлениями DAG.
Операторы Airflow делятся на базовые, интеграционные и служебные. На практике чаще всего используют PythonOperator и операторы для БД, а остальные подключают по мере необходимости.