Обычно Bash/Cos/KubernetesPod запускает dbt run с профилем; Airflow отвечает за schedule, зависимости upstream ingest и алерты, dbt — за SQL-модели.
Разбор
- Не дублируйте всю SQL-логику в PythonOperator.
- Передавайте target/env через Variables.
- Артифакты манифеста — для lineage/tests.
- Разделяйте тяжёлые модели по task с pool.
Итог
Airflow timing + dbt transform — частый production-паттерн ELT.