Skip to content

Instantly share code, notes, and snippets.

@kzzzr
Created November 24, 2021 09:03
Show Gist options
  • Save kzzzr/854fd97a3714aee5dbe817d59f38a39b to your computer and use it in GitHub Desktop.
Save kzzzr/854fd97a3714aee5dbe817d59f38a39b to your computer and use it in GitHub Desktop.
DWH – DBT: Extending with modules

DBT: Extending with modules

Зачем нужен модуль?

  • Переиспользование кода в проектах: макросы, модели, тесты
  • Адаптация макросов и моделей под разные СУБД
  • Примеры модулей: utils, redshift, external_tables, facebook
  • Примеры использования макросов, моделей, тестов из модулей

Разработка модуля

  • Модуль – это просто dbt-проект, который мы хотим переиспользовать
  • Логика модуля - реализуем в виде скриптов и макросов (/models, /macros)

Тестирование работоспособности модуля

  • Подготовка подпроекта для тестирования (/integration_tests) и набора данных-заглушек (/integration_tests/data)
  • Подготовка сервисов для работы (контейнеры с dbt, СУБД)
  • Запуск кода для проверки работоспособности
dbt debug
dbt deps
dbt seed
dbt run
dbt test
  • Автоматизация тестирования c Github Actions + настройка Continuous Integration

Использование модуля в проектах

  • Импорт модуля в packages.yml
  • Конфигурация модуля: enable/disable, значения переменных
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment