Чем отличаются PythonOperator и BashOperator в Airflow?

PythonOperator вызывает Python-функцию, BashOperator запускает команду через shell. Выбор зависит от того, где находится логика задачи и какое окружение ей нужно.

Короткий ответ

Что ответить на собеседовании

PythonOperator вызывает Python-функцию, BashOperator запускает команду через shell. Выбор зависит от того, где находится логика задачи и какое окружение ей нужно.

Подробный разбор

Ответ с пояснениями

PythonOperator вызывает Python-функцию, BashOperator запускает команду через shell. Выбор зависит от того, где находится логика задачи и какое окружение ей нужно.

Для Python-кода удобны явные аргументы и исключения; для существующей CLI-команды — BashOperator с проверкой exit code. Это не разница «локально или на сервере»: оба выполняются в среде назначенного worker. Не подставляйте недоверенный ввод напрямую в shell-команду. Большие результаты передавайте через хранилище, а не через XCom.

Источник: Документация Apache Kafka, Документация Apache Kafka.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее