Оператор и hook удобно интегрируются с Airflow, библиотека лучше переиспользуется, а контейнер изолирует зависимости. Обычно полезно разделить ядро загрузчика и оркестрацию.
Какие плюсы и минусы у реализации API-загрузчика как кастомного оператора/хука Airflow по сравнению с отдельной библиотекой или контейнерным сервисом?
Оператор и hook удобно интегрируются с Airflow, библиотека лучше переиспользуется, а контейнер изолирует зависимости. Обычно полезно разделить ядро загрузчика и оркестрацию.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Оператор и hook удобно интегрируются с Airflow, библиотека лучше переиспользуется, а контейнер изолирует зависимости. Обычно полезно разделить ядро загрузчика и оркестрацию.
Hook инкапсулирует доступ к API и подключения, оператор — выполнение конкретного шага. Плюсы такого подхода: единые connections, логи и retries; минусы: зависимость от Airflow и его окружения.
Чистая библиотека проще тестируется и используется вне DAG. Контейнерный запуск отделяет зависимости, но добавляет время старта и эксплуатационные расходы. В любом варианте нужны пагинация, лимиты API, таймауты и безопасный повтор без дубликатов.