- Зачем:
- собрать разрозненные кусочки ODS в цельные сущности DDS и ввести понятие
целостности связей (сироты), пока без жёсткого гейта — он в уроке 4
- Что:
- добавлен docs/course/lessons/03_ods_to_dds.md: сущности dds.click/dds.event,
UNION-универсум кликов, дедуп через argMax, LEFT JOIN, понятие сироты,
управляемая правка (вставка сироты), recap STG→ODS→DDS, заметка про DM
- §3.1: «поток данных» в шапку sql/dds/30_ods_to_dds.sql
- демоут DM: убран закомментированный пример материализации в
sql/dm/40_dds_to_dm.sql, добавлены «поток данных» и заметка «VIEW сейчас,
материализуем если затормозит» со ссылкой на docs/ARCHITECTURE.md
- sql/ddl/dm/40_dm.sql: пояснён seed 1919 в groupArraySample, поправлен
неверный комментарий «последние» (groupArraySample берёт случайную выборку)
- README курса: индекс обновлён до «уроки 0–3»
- Проверка:
- LIMIT=50 make transform: dds.click=26, dds.event=50, orphan_events=0
- §4 на стенде: вставка события-сироты → orphan 0→1; LEFT JOIN в
dm.v_events_enriched даёт NULL по полям клика; make transform откатывает к 0
- /ai-text-lint (article): house style сохранён, AI-маркеры не найдены
33 lines
2.7 KiB
Markdown
33 lines
2.7 KiB
Markdown
# Курс «Кликстрим на ClickHouse» (со звёздочкой)
|
|
|
|
Продвинутый курс для менти, уже прошедших базовую программу: основные паттерны
|
|
инженерии данных на стенде Kafka + ClickHouse + Airflow + мониторинг. Менти проходит
|
|
материал самостоятельно, а на еженедельном созвоне с ментором разбирает затыки и отвечает
|
|
на вопросы по теме — чтобы проверить глубину понимания.
|
|
|
|
Сам курс — это блок «со звёздочкой» открытого роадмапа Data Engineer
|
|
([de.dementev.space](https://de.dementev.space/), он же
|
|
[на GitHub](https://github.com/dementev-dev/de-roadmap)). Роадмап открыт и устроен так,
|
|
что идти по нему можно в одиночку; с ментором — ощутимо короче дорога: добавляются
|
|
персональный план, разбор домашек и код-ревью.
|
|
|
|
## Что где искать
|
|
|
|
| Файл | Что это | Когда открывать |
|
|
|------|---------|-----------------|
|
|
| [`PRD.md`](./PRD.md) | Рамка: зачем курс, цели, аудитория, скоуп, критерии успеха | Чтобы понять «что и зачем». Замороженный документ |
|
|
| [`LEARNING_PLAN.md`](./LEARNING_PLAN.md) | План обучения: карта уроков, маршрут, аудит эталонных путей | Чтобы понять «в каком порядке и из чего» |
|
|
| [`LESSON_STANDARD.md`](./LESSON_STANDARD.md) | Стандарт уроков: шаблон урока, качество кода, самопроверка | Рабочий чеклист при написании каждого урока |
|
|
| [`lessons/`](./lessons/) | Сами уроки, по одному файлу (есть: уроки 0–3) | Прохождение курса менти |
|
|
|
|
## Порядок чтения
|
|
|
|
1. Новому участнику (или будущей сессии): начать с `PRD.md`, затем `LEARNING_PLAN.md`.
|
|
2. Перед написанием урока: держать открытым `LESSON_STANDARD.md`.
|
|
|
|
## Границы
|
|
|
|
Материалы под конкретного менти (привязка к работодателю, легенда, подготовка к
|
|
собесам) в этот репозиторий **не кладём** — репозиторий публичный, приватное живёт
|
|
в менторской базе.
|