TGViewer
Архитектор Данных Архитектор Данных @analyticsfromzero · 1.88K subscribers
Post #13 211
Обзор DBT

#Инструменты #ETL #DBT

DBT - инструмент для трансформации данных, уже загруженных в хранилище данных.

Отлично подходит для создания и поддержания витрин данных. Также полезен при формировании детального слоя, особенно если мы не работаем в сложных архитектурах, таких как Anchor Modeling, Data Vault.

Какие задачи можно решать с помощью DBT в разных областях работы с данными.



Преобразования данных на основе SQL

✅ Сделать CREATE TABLE … AS SELECT … (DBT Model)
✅ Указать БД особенности физического хранения таблицы в БД. Партиционирование, Engine, sort_by для Clickhouse; distribute_by для Greenplum. (DBT CONFIG)
✅ Создать инкрементальную Model и запускать CREATE TABLE или INSERT/MERGE при разных настройках запуска. (DBT materialize=incremental)
✅ Добавить любое количество технических запросов до расчета Model, например SET param = value, запрос у БД ресурсов, настройки и хинты планировщика в рамках сессии (DBT pre-hook).
✅Добавить любое количество технических запросов после расчета Model, например GRANT, ANALYSE, OPTIMISE, заархивировать в S3 для Redshift, передать в PXF External Table для Greenplum (DBT post-hook)



Разработка моделей

🛠 Шаблонизировать запрос через jinja
🛠 Написать макрос и сделать модель как вызов макроса с параметрами. Полезно при обработке большого количества однотипных схем. Или разбора полей JSON с большим количеством параметров таким, как каталог событий приложения.


Тестирование данных

👍 Задавать тесты данных методом простого редактирования YAML (DBT Tests)
👍 Написать свой generic test и вызывать его через YAML
👍 Скачать библиотеку тестов и использовать более сложные тесты (dbt-utils)
Сохранять снепшоты данных (DBT Snapshot)
👍 Интегрироваться и отслеживать тесты данных с помощью Great Expectations.


Data Governance

🪧 Отслеживать зависимости моделей от источников и моделей друг от друга
🪧 Просматривать зависимости и тесты в DBT Docs
🪧 Документировать описание схем, таблиц, колонок, тестов через YAML
🪧 Размечать источники данных через YAML
🪧 Разметить потребителей данных через YAML. Например, дашборды (для этого дашборда нужны такие-то витрины) или ML модели.


Аналитика

📊 Сохранять запросы в Git и уметь отслеживать целостность витрин данных для него
📊 Легко создавать и тестировать свои витрины данных, просто сохраняя в Git запросы в файле
📊 Не сохранять огромные SQL запросы для целей дашбординга или доступа к типовым данным, а делать витрины для них


ETL

⚡️ Интегрироваться с AIrflow, Dagster, запускать заадчи с CLI
⚡Запускать сложные комбинации взаимосвязанных задач. Запустить все что зависит от источника А. Обновить все необходимое для отчета/модели В, включая перерквизиты
⚡Запустить (или протестировать) все модели из папки Х, кроме тега Y в не более чем 4 потока с учетом зависимостей источников и моделей друг от друга.
⚡ Сохранять справочники в репозитории и управлять ими прямо из Git (DBT Seed)


Разработка

🪲 Разрабатывать DWH-as-Code. Хранить и изменять всю информацию в Git.
🪲 Легко создавать и управлять Dev, Test окружениями. Разделять на уровне инсталляций БД, логическими БД, наборами схем.
🪲 Создать CI контур DWH для end-to-end тестов честного итогового результата в виде витрин на семплах данных.
🪲 Делать blue-green deployment (DBT Clone)


Команда

🕶 Создавать для каждой команды песочницу в виде набора схем.
😎Управлять песочницей команды с помощью одного Airflow DBT Operator (DBT Run + DBT Test) с учетом изменяющихся внутренних зависимостей.
  • 👍 4
More from @analyticsfromzero
  1. Oct 3, 2026Разговоры на Архитекторском - Выпуск 5 с Алмазом Хайфуллиным Тема: опыт переезда КХД с Gre…
  2. Oct 1, 2026Ода эффективным менеджерам «Это мне ИИшка посчитала, я не знаю, как и почему» От создателе…
  3. Sep 28, 2026На инфографике вы, дорогие коллеги, можете увидеть наше светлое будущее. График составлен…
  4. Sep 28, 2026Пользовательские соглашения наконец начали читать. Раньше пользовательские соглашения никт…
  5. Sep 27, 2026Когда я даю кандидатам тестовое Даю когда человек без супер скилов и резюме. Тогда ТЗ это…
  6. Sep 26, 2026Отказ по вакансии за использование ИИ в тестовом https://t.me/bdsmmchannel/1365 Не подрыва…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →