Перейти к основному содержимому

Задания в платформе dbt

Ниже приведены доступные типы заданий в dbt:

  • Deploy jobs — Сборка production‑ассетов данных. Запускаются по расписанию, через API или после завершения другого задания.
  • Continuous integration (CI) jobs — Тестирование и валидация изменений кода перед слиянием. Запускаются при коммите в pull request или через API.
  • Merge jobs — Развёртывание слитых изменений в production. Запускаются после успешного слияния pull request или через API.
  • State-aware jobs — Интеллектуально определяют, что необходимо пересобрать, на основе свежести источников, изменений кода или изменений во входных данных. Пересобирают модели только в том случае, если они старше заданного интервала.

Следующая таблица сравнения описывает поведение различных типов задач:

Deploy jobsCI jobsMerge jobsState-aware jobs
НазначениеСобирают продакшен‑активы данных.Собирают и тестируют новый код перед слиянием изменений в продакшен.Собирают изменения, уже слитые в продакшен, или обновляют состояние для deferral.Запускают сборку моделей и джобы только тогда, когда обновляются исходные данные.
Типы триггеровЗапускаются по расписанию, через API или после успешного завершения другой джобы.Запускаются по коммиту в PR или через API.Запускаются после успешного merge в ветку окружения или через API.Запускаются при изменении кода, sources или вышестоящих данных, а также по настраиваемым интервалам обновления и пользовательским настройкам freshness источников.
Назначение (куда выполняется сборка)Сборка выполняется в продакшен‑базу данных и схему.Сборка выполняется в staging‑базу данных и ephemeral‑схему, которые существуют в течение жизни PR.Сборка выполняется в продакшен‑базу данных и схему.Сборка выполняется в продакшен‑базу данных и схему.
Режим выполненияЗапуски выполняются последовательно, чтобы избежать конфликтов в базовом DAG.Запуски выполняются параллельно, чтобы повысить скорость работы команды.Запуски выполняются последовательно, чтобы избежать конфликтов в базовом DAG.
Экономия за счёт эффективных запусковОбнаруживает избыточно запланированные джобы и отменяет ненужные запуски, чтобы не перегружать очередь.Отменяет существующие запуски, когда отправляется новый коммит, чтобы избежать лишней работы.N/AЗапускает джобы и выполняет сборку моделей только когда обновляются исходные данные или когда модели старше, чем указано в интервале обновления проекта.
Сравнение состоянияТолько иногда требуется определять состояние.Почти всегда требуется сравнение состояния с продакшен‑окружением, чтобы собирать изменённый код и его зависимости.Почти всегда требуется сравнение состояния с продакшен‑окружением, чтобы собирать изменённый код и его зависимости.
Длительность выполнения джобыЛимит — 24 часа.Лимит — 24 часа.Лимит — 24 часа.Лимит — 24 часа.
Loading table...

Нашли ошибку?

0