Как выбрать задачу Airflow для ежедневного Python ETL?

Подойдёт Python-задача TaskFlow с @task: ETL-логика оформляется функцией, а параметры и зависимости задаются в DAG. Для этой постановки отдельный Kubernetes pod не обязателен.

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

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

Подойдёт Python-задача TaskFlow с @task: ETL-логика оформляется функцией, а параметры и зависимости задаются в DAG. Для этой постановки отдельный Kubernetes pod не обязателен.

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

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

Условие

Ежедневно нужно выполнить Python-функцию: прочитать небольшой файл из объектного хранилища, проверить схему, преобразовать строки и записать результат в другую папку. Задача помещается на одном worker; повтор не должен дублировать итоговые данные. Какой подход Airflow выбрать?

Ответ

Подойдёт Python-задача TaskFlow с @task: ETL-логика оформляется функцией, а параметры и зависимости задаются в DAG. Для этой постановки отдельный Kubernetes pod не обязателен.

Вход связывают с интервалом данных запуска, а выход пишут по детерминированному ключу с безопасной заменой или проверкой завершения. Большой набор строк не передают через XCom — возвращают ссылку и небольшие метаданные. Credentials получают из Connections/секретного хранилища. Если выполнение потребует другого окружения, ресурсов или изоляции, выбор оператора пересматривают; название оператора само по себе не обеспечивает идемпотентность.

Источник: airflow.apache.org.

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

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

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

Подробнее