- Зачем:
- follow-up задачи после ревью 2026-06-14 лежали без триажа; решения по
артефакту, громкому отказу и интерфейсу приняты 2026-07-04 и должны
попасть в задачи до передачи исполнителю.
- Что:
- задачи 07 (миграция курса) и 08 (артефакт) поменяны местами — номера
отражают порядок; ссылки обновлены.
- 07 (артефакт + runbook) дооформлен: импорт строго через Kafka (напрямую
в ClickHouse не пишет), громкий отказ при несовместимом state с правкой
спеки, граница runbook «использование, не устройство»; ready-for-agent.
- 08 дооформлен: устройство генератора вне пути менти, реальный объём
(make data во всех уроках 00-05), демо вне скоупа; ready-for-agent.
- новые задачи: 11 глаголы/длительность/профили (после 07, до 12),
12 Airflow-DAG как пульт (приоритет поднят), 13 доливка (после 09).
- задачи 01-06 переведены в done (стояли ошибочные ready-for-human);
PRD фичи дополнен списком задач 7-13 с порядком и зависимостями.
- Проверка:
- head -1 .scratch/generator-model-time-startup-history/issues/*.md;
grep по старым именам файлов ничего не находит вне handoff.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Учебный стенд DWH кликстрима
Живой стек для работы с кликстримом: Kafka, ClickHouse, Airflow, Superset и мониторинг (Prometheus с Grafana) поднимаются в Docker одной командой. На этом стенде можно учиться по курсу или просто поднять его у себя и поэкспериментировать с потоковой загрузкой и витринами.
Поток данных коротко:
- стартовая история:
generator backfill → Kafka → ClickHouse (STG) → batch STG → ODS → DDS → DM → Superset. - живое продолжение:
generator live → Kafka → ClickHouse (STG) → batch ETL → Superset.
Файлы data/*.jsonl больше не основной источник аналитики. Пока они остаются
архивной кладовкой значений для генератора: браузеры, страны, устройства и UTM.
Куда дальше
- Хочешь учиться — открой курс «Кликстрим на ClickHouse». Это продвинутый курс «со звёздочкой»: основные приёмы инженерии данных проходишь прямо на этом стенде.
- Хочешь поднять и попробовать — следуй быстрому старту ниже.
- Хочешь разобраться в устройстве — смотри архитектуру слоёв, запуск и эксплуатацию и карту репозитория.
Быстрый старт
Штатный чистый запуск строит аналитику из стартовой истории генератора. Команда очищает volumes ClickHouse и Kafka, создаёт стартовую историю, доводит её до DM и проверяет Superset metadata.
make generated-history-analytics
docker compose ps
По умолчанию это быстрый проверочный профиль на 6 часов модельного времени. Суточную историю можно прогнать отдельно:
GEN_MODEL_T_END=2026-01-02T00:00:00+00:00 make generated-history-analytics
Повторить только техническую проверку после уже выполненного прогона:
make generated-history-check
Проверить, что данные дошли до витрин:
docker compose exec -T clickhouse clickhouse-client --user=default --password=123456 \
--query "SELECT count() FROM dm.v_events_enriched"
Подробный сценарий запуска, параметры DAG-ов и разбор частых проблем — в OPERATIONS.
Сервисы и доступы
| Сервис | Адрес | Назначение | Логин/пароль |
|---|---|---|---|
| Airflow | http://localhost:8080 |
оркестрация ETL | admin/admin |
| ClickHouse | http://localhost:9123/play |
SQL-запросы | default/123456 |
| Kafka UI | http://localhost:8082 |
просмотр топиков | — |
| Superset | http://localhost:8088 |
дашборды | admin/admin |
| Prometheus | http://localhost:9090 |
метрики | — |
| Grafana | http://localhost:3000 |
графики метрик | admin/admin |
Готовый дашборд в Superset:
http://localhost:8088/superset/dashboard/ecommerce-analytics/ — он создаётся
во время make generated-history-analytics. Состав и настройка дашборда описаны в
SUPERSET_DASHBOARD.
Как устроен поток данных
flowchart LR
subgraph GEN["Generator"]
BF["backfill"]
LIVE["live"]
end
subgraph Kafka["Kafka"]
Topics[4 топика]
end
subgraph CH["ClickHouse"]
STG["STG: сырые данные"]
ODS["ODS: типизация + DQ"]
DDS["DDS: сущности"]
DM["DM: витрины VIEW"]
end
BF -->|стартовая история| Kafka
LIVE -->|продолжение| Kafka
Kafka -->|Kafka MV| STG
STG -->|batch| ODS -->|batch| DDS -->|VIEW| DM
DDL["DDL"] -.-> CH
«Грязные» записи не роняют пайплайн: ошибки разбора складываются в ods.*_errors и в
поле parse_errors, а обработка продолжается.
Подробное описание слоёв STG/ODS/DDS/DM, диаграммы и обоснование решений — в ARCHITECTURE.
Документация
- Архитектура и слои — устройство STG/ODS/DDS/DM, диаграммы, обоснование решений.
- Запуск и эксплуатация — сценарий запуска, параметры DAG-ов, мониторинг, частые проблемы.
- Карта репозитория — где какие файлы и что менять.
- Курс «Кликстрим на ClickHouse» — учебная программа на этом стенде.
- DE-task.md — задание, из которого вырос стенд.