Автоматизация с помощью dbt build

Средний уровень dbt

Mike Metzger

Data Engineer

Обзор

  • sources и seeds — источники начальных данных для dbt
  • models выполняют преобразование данных (обычно из sources / seeds) для downstream-пользователей
  • tests позволяют валидировать sources, seeds, models
    • Встроенные (unique, not_null, relation, accepted_values)
    • Единичные
    • Универсальные / повторно используемые
  • dbt build выполняет все эти задачи, как правило, в продакшене
Средний уровень dbt

dbt build

dbt build:

  • Объединяет несколько задач
  • Запускает модели (dbt run)
  • Выполняет проверки с помощью тестов (dbt test)
  • Обрабатывает seeds (dbt seed)
  • Доступны дополнительные опции (dbt snapshot)
  • НЕ ВЫПОЛНЯЕТ операции dbt docs

Команды можно запускать по отдельности

Процесс сборки

1 Фото: Randy Fath, Unsplash
Средний уровень dbt

dbt build — зачем?

  • Отдельные подкоманды удобны, но не охватывают все возможные проблемы
    • dbt run не выполняет предварительную проверку (то есть тесты не запускаются)
    • dbt seed может быть неполным для некоторых запросов
  • dbt build определяет зависимости и запускает все тесты до внесения изменений в продакшен
  • dbt build может быть избыточным при небольших изменениях или только при тестировании
  • При необходимости шаги можно выполнить вручную
Средний уровень dbt

Опции dbt build

  • dbt build --select <object>
  • dbt build -d
  • dbt build --exclude <object>
Средний уровень dbt

Давайте потренируемся!

Средний уровень dbt

Preparing Video For Download...