Выбор ответа Senior ETL, ELT и Airflow обновлено

Зависимость между DAG

Вопрос

DAG витрин запускается в 3:00, потому что DAG загрузки «обычно заканчивает к 2:30». Иногда загрузка опаздывает, и витрины строятся по неполным данным. Как правильно?

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

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

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

Коротко

Правильный ответ: Запускать витрины по готовности данных: datasets/assets или сенсор на завершение нужной задачи. Зависимость по времени хрупка: загрузка может опоздать, а может закончиться рано, и время теряется.

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

  1. Запускать витрины по готовности данных: datasets/assets или сенсор на завершение нужной задачиправильный ответ
  2. Перенести витрины на 5:00 с запасом: за последний год загрузка ни разу не заканчивалась позже 4:30
  3. Запускать витрины каждые 10 минут с 3:00, пока число строк не перестанет расти
  4. Объединить все DAG компании в один, чтобы зависимости между задачами были явными

Разбор

Зависимость по времени хрупка: загрузка может опоздать, а может закончиться рано, и время теряется. Зависимость по данным запускает потребителя ровно тогда, когда производитель отработал. Сдвиг времени лишь уменьшает вероятность сбоя и откладывает отчёты. Частые перезапуски создают лишнюю нагрузку и путаницу. Один гигантский DAG неуправляем.

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

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