Выбор ответа Middle ETL, ELT и Airflow спрашивают часто обновлено

Код на верхнем уровне файла DAG

Вопрос

В файле DAG на верхнем уровне выполняется запрос к базе, чтобы получить список таблиц и создать по задаче на таблицу. Что не так?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Планировщик регулярно перечитывает файлы DAG, и запрос выполняется при каждом разборе. Файлы DAG разбираются постоянно (по умолчанию раз в десятки секунд), и всё на верхнем уровне выполняется каждый раз.

Варианты ответа

  1. Ничего: верхний уровень файла DAG выполняется один раз при старте планировщика и кешируется
  2. Airflow запрещает импортировать драйверы баз в файлах DAG, файл не пройдёт импорт
  3. Планировщик регулярно перечитывает файлы DAG, и запрос выполняется при каждом разбореправильный ответ
  4. Задачи, созданные в цикле, не поддерживаются: каждая задача должна быть объявлена явно

Разбор

Файлы DAG разбираются постоянно (по умолчанию раз в десятки секунд), и всё на верхнем уровне выполняется каждый раз. Тяжёлые операции нужно убрать внутрь задач, а динамические задачи строить из статической конфигурации или через dynamic task mapping. Один раз при установке ничего не выполняется. Импорты драйверов разрешены, хотя тяжёлые импорты тоже лучше прятать в задачи. Задачи в цикле создавать можно.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.