docs(course): каркас курса и переобвязка уроков 0–6 на путь import (#21)
Зачем: после редизайна пути менти курс ссылался на старый путь generated-history-analytics/backfill и не проходился по новому стенду. Что: в README курса — единый блок подготовки и канонического сброса (make clean -> make up + ddl_init/world_init -> make superset-init), таблица уроков дополнена лабами 07–08 («в работе»); LESSON_STANDARD и уроки 0–6 ссылаются на канонический блок; урок 1 переведён на дозаливку через world_next_day (кнопкой-анонсом, цена в минутах названа); урок 4 — лесенка DAG-ов; урок 5 — словарь «база import / живой поток»; урок 6 обязателен; цифры старого мира помечены маркером «сверить-на-стенде». Проверка: grep по generated-history-analytics/backfill в docs/course/ пуст; правки только в docs/course/; git diff --check чистый. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+16
-13
@@ -3,7 +3,7 @@
|
||||
> Статус: прообраз PRD. Дата: 2026-06-01.
|
||||
> Поправка 2026-06-03 (разморозка по делу): середина пайплайна расщеплена — ODS и DDS
|
||||
> теперь разные уроки (принцип «один паттерн на урок»), витрины DM демотированы в
|
||||
> поверхность потребления. Обязательных уроков стало 0–5, опциональный Superset — урок 6.
|
||||
> поверхность потребления. Superset вынесен в урок 6.
|
||||
> Затронуты §4 (скоуп) и §3/§5 (ожидаемый такт — ~день на урок). Это изменение рамки,
|
||||
> а не план реализации.
|
||||
> Поправка 2026-06-03 (терминология): режим сопровождения — еженедельный **созвон**, а не
|
||||
@@ -16,6 +16,10 @@
|
||||
> стенда больше не является. Схема потока в §1 обновлена под генератор (источник данных
|
||||
> сменился, см. ADR-0006). В §7 закрыта развилка про урок о генераторе и добавлена
|
||||
> развилка про кластерную конфигурацию.
|
||||
> Поправка 2026-07-23 (маршрут курса): зафиксированы три режима работы с миром —
|
||||
> импорт эталонной базы, пакетная дозаливка следующего дня и живое продолжение.
|
||||
> Урок 6 стал обязательным, после него добавлены обязательные лабы 07–08.
|
||||
> Затронуты §1–4 и §7.
|
||||
> Назначение документа: зафиксировать для будущих сессий, что это за курс, зачем
|
||||
> он, что входит в скоуп работ, а что нет. Это договорная **рамка**, а не план
|
||||
> реализации и не стандарт уроков (см. раздел «Связанные документы»).
|
||||
@@ -30,7 +34,7 @@
|
||||
Репозиторий — рабочий сквозной стенд кликстрим-DWH:
|
||||
|
||||
```
|
||||
generator (backfill/live) → Kafka → ClickHouse (Kafka engine + MV → STG) → Airflow ETL (STG→ODS→DDS→DM) → Superset
|
||||
generator (импорт / живой поток) → Kafka → ClickHouse (Kafka engine + MV → STG) → Airflow ETL (STG→ODS→DDS→DM) → Superset
|
||||
↘ Prometheus / Grafana (мониторинг)
|
||||
```
|
||||
|
||||
@@ -85,7 +89,9 @@ generator (backfill/live) → Kafka → ClickHouse (Kafka engine + MV → STG)
|
||||
3. Читать и объяснять **оркестрацию в Airflow**: DAG, зависимости задач, проверки
|
||||
качества данных, остановку пайплайна при нарушениях.
|
||||
4. Понимать, **как устроен мониторинг** пайплайна (метрики, экспортёры, дашборды).
|
||||
5. (Опционально) Подключать **BI-витрину** поверх ClickHouse (Superset).
|
||||
5. Подключать **BI-витрину** поверх ClickHouse (Superset).
|
||||
6. Различать пакетную дозаливку дня и живой поток, понимать границы времени
|
||||
и свежесть данных.
|
||||
|
||||
Сквозная цель — не «посмотреть, как работает», а **уметь пересказать паттерн
|
||||
своими словами и привязать его к обычной кликстрим-аналитике** (трекер событий →
|
||||
@@ -96,8 +102,8 @@ Kafka → ClickHouse → BI).
|
||||
- **Аудитория:** продвинутые менти, прошедшие базовую программу. Пишем обобщённо,
|
||||
но затачиваем под реальный первый прогон, а не под гипотетических будущих менти.
|
||||
- **Режим:** самостоятельный, асинхронный. Менти клонирует репозиторий, готовит
|
||||
стенд штатным путём (`make generated-history-analytics && make up`) и идёт по
|
||||
урокам из `docs/course/` рядом с кодом.
|
||||
стенд по [канонической инструкции](./README.md#подготовка-и-канонический-сброс)
|
||||
и идёт по урокам из `docs/course/` рядом с кодом.
|
||||
Уроки короткие и односоставные — ожидаемый срок прохождения одного **около дня**.
|
||||
- **Роль ментора:** еженедельный созвон-сверка (покрывает несколько уроков), без
|
||||
построчного разбора кода.
|
||||
@@ -108,10 +114,12 @@ Kafka → ClickHouse → BI).
|
||||
## 4. Скоуп
|
||||
|
||||
### Входит
|
||||
- **Уроки 0–5 (обязательные):** вводный урок по Kafka, заземление Kafka→CH, STG→ODS
|
||||
- **Уроки 0–6 (обязательные):** вводный урок по Kafka, заземление Kafka→CH, STG→ODS
|
||||
(типизация + DQ), ODS→DDS (сборка сущностей), Airflow, мониторинг. Принцип нарезки —
|
||||
один прод-паттерн на урок; контраст «где Materialized View, а где батч» проходит
|
||||
мостом уроков 1→2.
|
||||
мостом уроков 1→2. Урок 6 закрывает BI-слой в Superset.
|
||||
- **Лабы 07–08 (обязательные):** пакетная дозаливка следующего дня, затем живое
|
||||
продолжение потока.
|
||||
- Витрины **DM — не отдельный урок**: их показываем в деле там, где их потребляют
|
||||
(мониторинг и BI). См. `LEARNING_PLAN.md` §1–2.
|
||||
- **Аудит и точечная полировка эталонных путей** этих уроков до учебного качества
|
||||
@@ -121,10 +129,6 @@ Kafka → ClickHouse → BI).
|
||||
Подробная карта уроков (файлы стенда, статус, режим, вердикты аудита) — в плане
|
||||
обучения `LEARNING_PLAN.md`.
|
||||
|
||||
### Опционально
|
||||
- **Урок 6: Superset (BI-витрина).** Делаем, если останется ресурс; обязательные
|
||||
уроки он не блокирует.
|
||||
|
||||
### Не входит
|
||||
- Переписывание всего стенда: полируем только эталонные пути обязательных уроков,
|
||||
остальной код стенда остаётся под капотом.
|
||||
@@ -171,8 +175,7 @@ Kafka → ClickHouse → BI).
|
||||
(зеркало урока 4) — урок 5 даёт «сломал-увидел», а не чистое наблюдение. См.
|
||||
`LEARNING_PLAN.md` §3.1.
|
||||
- ~~Нужна ли BI-витрина (Superset) уже в первой версии.~~ **Решено:** урок 6 написан и
|
||||
синхронизирован с реальным дашбордом; остаётся опциональным (обязательные уроки не
|
||||
блокирует).
|
||||
синхронизирован с реальным дашбордом. С 2026-07-23 он входит в обязательный маршрут.
|
||||
|
||||
Закрыто позже:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user