Чему вы научитесь
- Разворачивать 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 хранилища данных — от сырых логов до финальных аналитических витрин, используя лучшие практики аналитической инженерии.
О курсе
Для кого этот курс
Начальные требования
Для успешного прохождения курса нужны следующие знания:
— Основы SQL: CTE, SELECT, WHERE, GROUP BY, JOIN, а также понимаете основные объекты баз данных: таблицы, поля, представления, материализованные представления.
— Основы dbt, можно пройти на моем бесплатном курсе (https://stepik.org/course/289243).
— Основы ClickHouse.
Преподаватели курса
Как проходит обучение
Каждый урок содержит в себе:
-
Теорию: понятное объяснение концепций без лишней «воды».
-
Практические примеры: разбор теории на понятных, приближенных к реальности примерах.
-
Задания: проверочные тесты, а также домашние задания на программирование. Все практические задания проверяются лично мной: я провожу Code Review и даю обратную связь с рекомендациями.