Всем привет, интересно услышать как архитектурно у вас организован запуск дагов. Для примера я встречал 2 подхода
1 - Все пишем в файле дага, то есть дописываем свои хуки/операторы
2 - Делаем отдельную папку /jobs где лежит вся кодовая база, а через airflow просто запускаем скрипты которые лежать в Jobs
Интересно услышать кто и почему выбрал одну из тактик, или вообще 3 подход. Буду рад советам о том как стоит организовать etl и какие проблемы и ограничения например у первого подхода.
Свои хуки/операторы/классы/функции держим в пакетах на приватном PyPi (в редких случаях – ставим по деплой токену гитлаба).
В самих файлах дага минимальная логика, описание ветвления, ну и очевидные импорты.
А так ничто не мешает складывать всё в одну кучу, просто не оч реюзабельно. Так сделали, потому что ETL-процессы уже были описаны, лежали по своим репозиториям и раньше крутились просто в докер-контейнерах по расписанию