dbt с нуля — практика на ClickHouse

Практический курс по dbt на сквозном проекте: построите хранилище данных по медальонной архитектуре, используя ClickHouse.
Начальный уровень
3-4 часа в неделю

Чему вы научитесь

  • Разворачивать production-ready рабочее окружение dbt, ClickHouse, Docker, VS Code и DBeaver для эффективной локальной разработки.
  • Строить многослойные хранилища данных (Raw, Bronze, Silver, Gold) на базе Modern Data Stack dbt + ClickHouse.
  • Подключать и описывать источники сырых данных из слоя Raw при помощи конфигурационных файлов sources.yml.
  • Проектировать оптимизированные модели dbt models, используя специфику и возможности движков семейства MergeTree (ReplacingMergeTree) в ClickHouse.
  • Настраивать параметры и конфигурации моделей dbt, включая партиционирование, ключи сортировки, материализации и TTL, для их корректной работы с базой данных ClickHouse.
  • Писать собственные макросы на Jinja и переопределять встроенные функции dbt для гибкого управления логикой моделей и автоматизации рутины.
  • Вести понятную YAML-документацию для контроля качества данных и генерации интерактивной документации проекта с графом зависимостей Data Lineage.
  • Писать собственные проверки качества любой сложности при помощи Custom Generic Tests.
  • Создавать словари ClickHouse Dictionary для быстрого обогащения данных на лету при помощи dbt seeds без использования тяжелых операций JOIN.
  • Создавать витрины данных с использованием инкрементальных моделей incremental для эффективного расчета бизнес-метрик на больших объемах данных.
  • Строить production-ready хранилища данных — от сырых логов до финальных аналитических витрин, используя лучшие практики аналитической инженерии.

О курсе

Добро пожаловать на курс "dbt с нуля — практика на ClickHouse"!

Этот курс является практическим продолжением курса «dbt с нуля». Если в первой части мы изучали основные концепции и возможности dbt, то здесь сосредоточимся на практике и разберём, как использовать dbt в связке с ClickHouse для решения реальных задач и построения надежного аналитического хранилища данных.

Вместе мы создадим полноценный dbt-проект, который можно будет добавить в портфолио на GitHub: настроим локальное окружение, развернем ClickHouse, подключим dbt, реализуем слои трансформации данных от сырых данных до готовых витрин, внедрим тестирование, документацию и разберемся со спецификой моделей и инструментов dbt.

У курса есть собственный чат

Приглашаю присоединиться: dbt с нуляТам можно оперативно обсудить сложные кейсы, познакомиться с коллегами или первыми узнать об анонсах новых материалов.

Как устроен каждый урок

  • Теория: понятное объяснение концепций без лишней «воды».

  • Практические примеры: разбор теории на понятных, приближенных к реальности примерах.

  • Задания: проверочные тесты, а также домашние задания на программирование. Все практические задания проверяются лично мной: я провожу Code Review и даю обратную связь с рекомендациями.


🛠️ Модуль 1 — Настройка окружения и быстрый старт

Развернем локальную инфраструктуру, запустив СУБД ClickHouse в изолированном Docker-контейнере, и подключим к ней клиент DBeaver. Настроим рабочее окружение в VS Code, установим адаптер dbt-clickhouse и инициализируем проект. В финале проверим корректность всех доступов и связей с помощью команды dbt debug.

🗄️ Модуль 2 — Сырой слой и источники данных

Познакомимся с концепцией медальонной архитектуры (Raw – Bronze – Silver – Gold) и разберем структуру файла dbt_project.yml. Самостоятельно создадим таблицы в ClickHouse и наполним их сырыми данными e-commerce с помощью SQL-скриптов. Опишем полученные источники в конфигурации sources.yml и свяжем их с dbt через макрос {{ source() }}.

🥉 Модуль 3 — Бронзовый слой

Научимся проектировать Bronze-слой: выполнять базовую очистку, переименование полей и приведение типов без изменения структуры данных. Разберем, как через блок config() передавать специфичные параметры ClickHouse, включая движки MergeTree и ключи сортировки. Внедрим первые встроенные тесты dbt для проверки качества данных и задокументируем модели в YAML.

🥈 Модуль 4 — Серебряный слой

Изучим принципы построения цепочек моделей с помощью макроса {{ ref() }} для создания прозрачного графа зависимостей Data Lineage. Научимся загружать статичные справочники через dbt Seeds и эффективно интегрировать ClickHouse Dictionary для быстрого маппинга данных. Реализуем дедупликацию и напишем кастомные тесты (Custom Generic Tests) для проверки сложной бизнес-логики.

🏗️ Модуль 5 — Золотой слой — В разработке

Изучим принципы проектирования витрин данных, оптимизированных под быстрые аналитические запросы. На практике создадим финальные бизнес-витрины и настроим их инкрементальную сборку с помощью incremental моделей, чтобы не пересчитывать миллиарды строк каждый раз. Научимся писать переиспользуемые макросы на Jinja для автоматизации SQL-кода и ускорения тяжелых агрегаций.

Для кого этот курс

Курс подойдет всем, кто хочет освоить современный стек аналитики Modern Data Stack на базе dbt и ClickHouse. Он рассчитан как на начинающих специалистов, так и на практикующих аналитиков и инженеров данных: Data Analysts, Analytics Engineers, BI-разработчиков и Data Engineers.

Начальные требования

Для успешного прохождения курса нужны следующие знания:

— Основы SQL: CTE, SELECT, WHERE, GROUP BY, JOIN, а также понимаете основные объекты баз данных: таблицы, поля, представления, материализованные представления.

— Основы dbt, можно пройти на моем бесплатном курсе (https://stepik.org/course/289243).

— Основы ClickHouse.

Наши преподаватели

Как проходит обучение

Каждый урок содержит в себе:

  • Теорию: понятное объяснение концепций без лишней «воды».

  • Практические примеры: разбор теории на понятных, приближенных к реальности примерах.

  • Задания: проверочные тесты, а также домашние задания на программирование. Все практические задания проверяются лично мной: я провожу Code Review и даю обратную связь с рекомендациями.

Программа курса

загружаем...

Сколько стоит обучение

Price: 2 390 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 2 390