Код на верхнем уровне файла DAG
Вопрос
В файле DAG на верхнем уровне выполняется запрос к базе, чтобы получить список таблиц и создать по задаче на таблицу. Что не так?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Ничего: верхний уровень файла DAG выполняется один раз при старте планировщика и кешируется
- Airflow запрещает импортировать драйверы баз в файлах DAG, файл не пройдёт импорт
- Планировщик регулярно перечитывает файлы DAG, и запрос выполняется при каждом разбореправильный ответ
- Задачи, созданные в цикле, не поддерживаются: каждая задача должна быть объявлена явно
Разбор
Файлы DAG разбираются постоянно (по умолчанию раз в десятки секунд), и всё на верхнем уровне выполняется каждый раз. Тяжёлые операции нужно убрать внутрь задач, а динамические задачи строить из статической конфигурации или через dynamic task mapping. Один раз при установке ничего не выполняется. Импорты драйверов разрешены, хотя тяжёлые импорты тоже лучше прятать в задачи. Задачи в цикле создавать можно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Идемпотентная перезапись дневной партиции агрегатов
Следующий вопрос
Что передавать через XCom