Чему вы научитесь
- Практическими навыками работы с dbt, достаточными для позиций Junior+/Middle Data Engineer/Analyst
- Уверенно проходить собеседования – разбираться в ключевых концепциях dbt и облачных DWH
- Работать в реальных проектах – строить ETL-пайплайны, тестировать и документировать данные
О курсе
Практический курс по dbt — научись трансформировать данные без сложного кода, автоматизируй пайплайны и работай как настоящий data-инженер в современных облачных стеках.
Что такое dbt?
DBT (Data Build Tool) — это мощный open-source инструмент, который превращает обычные SQL-запросы в полноценный инженерный процесс. С его помощью вы можете не только выполнять сложные трансформации данных, но и автоматически тестировать их качество, документировать модели и контролировать версии — всё как в серьёзной разработке ПО.
По сути, dbt — это идеальное решение для этапа Transform в современном ELT-процессе. Благодаря таким облачным хранилищам, как BigQuery, Snowflake и Redshift, которые легко справляются с любыми объёмами данных, необходимость во внешних инструментах для трансформации просто исчезла. Теперь вся обработка происходит там же, где и хранение — быстро, эффективно и без лишних движений данных.
Внутри хранилища данных нам нужно делать расчеты, чтобы в итоге получить витрины данных. Мы можем это делать с помощью sql процедур, а альтернативой является dbt, который является прослойкой между хранилищем данных и кодом разработчика.
При использовании dbt разработчик пишет только select запросы, а таблицы и код наполнения таблиц за него создает dbt и при этом вы получаете следующие возможности:
- готовый движок для тестирования данных с большим набором готовых тестов;
- автогенерацию документации;
- lineage - графическое изображение связей между объектами;
- использование шаблонизитора кода jinja, который открывает широкие возможности по сокращению объема кода и реализации нестандартных алгоритмов;
- хранение кода в git (или аналоге) с возможность проводить код ревью, видеть историю всех изменений, хранить код каждого релиза, а также откатить изменения по задаче за несколько кликов;
- настроить ci/cd процесс (автоматизировать процесс тестирования кода, сборки и разворота проекта);
- использования готовых алгоритмов историчности, инкрементальной загрузки данных и др.
Как итог:
- сокращается объём кода;
- скорость расчетов остаётся на уровне SQL-процедур;
- повышается стабильность работы проекта;
- ускоряется процесс разработки.
🟢Программа курса
- Что такое dbt?
- Установка ПО, разворот и сборка учебного проекта
- Создание нового проекта dbt
- Подключаем БД источник
- Подключение и настройка источников данных в dbt. Тесты данных источников
- Модели данных в dbt, view, table, ephemeral, materialized view
- Практика создания моделей данных
- Настройка свойств моделей
- Инкрементальное обновление моделей
- Seeds, загрузка csv файлов
- Snapshots, реализация историчности scd2 в dbt
- Конфигурирование моделей. Configs
- Использование Analyses для ad hoc запросов
- Введение в Jinja
- Базовые возможности Jinja
- Возможности работы с Jinja в dbt
- Макросы в dbt
- Обзор пакетов в dbt
- Обзор пакета codegen
- Пакет тестирования качества проекта dbt_project_evaluator
- Пакет automate_dv для работы с datavault
- Команды dbt
- Фильтрация элементов
- Singular тесты
- Generic тесты
- Unit тесты
- Интеграция airflow и dbt
Для кого этот курс
Начальные требования
Чтобы начать обучение, достаточно владеть основами написания select - запросов в SQL.
Наши преподаватели
Как проходит обучение
Обучение проходит онлайн на платформе — вся теория выложена в видео формате, объяснения простым языком, и вы сразу отработаете её на практике, делая домашнее задание . Поработаете с реальной базой данных.
Программа курса
Что вы получаете
- Практические навыки для работы с dbt
- Умение разрабатывать, тестировать и развертывать dbt - модели в облачных DWH (BigQuery, Snowflake, Redshift)
- Навыки оптимизации SQL - трансформаций для больших данных
- Опыт работы с Jinja, макросами и инкрементальными моделями
- Доступ к записям и материалам