docs(course): устранены шероховатости пути менти

- Зачем:
  - ревью пути менти 2026-07-07 нашло четыре места, где документация
    сбивает новичка: скрытый шаг с паузой etl_pipeline, два рецепта
    первого запуска без связки, неверное число дашбордов и пустые
    панели Airflow на backfill-only пути.
- Что:
  - README: добавлен шаг «снимите паузу с etl_pipeline» перед backfill
    и пометка, что generated-history-analytics — тот же путь одной
    командой;
  - курс: README курса связывает оба рецепта первого запуска, урок 05
    называет четыре дашборда (включая Generator Overview) и объясняет,
    почему панели Airflow пусты до запуска etl_pipeline.
- Проверка:
  - чтение задетых разделов; имена дашбордов сверены с provisioning
    Grafana в ходе ревью.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 22:00:00 +03:00
co-authored by Claude Fable 5
parent a3ac4b4c46
commit 900e9498ca
3 changed files with 17 additions and 7 deletions
+6 -2
View File
@@ -39,7 +39,9 @@ make ddl
docker compose ps docker compose ps
``` ```
Откройте Airflow: `http://localhost:8080` (`admin/admin`). Запустите Откройте Airflow: `http://localhost:8080` (`admin/admin`). Сначала снимите
паузу с DAG `etl_pipeline` (переключатель слева от имени): на свежем стенде он
создаётся на паузе, и `backfill` откажется стартовать. Затем запустите
`generator_control` с операцией `backfill`: DAG создаст стартовую историю, `generator_control` с операцией `backfill`: DAG создаст стартовую историю,
запустит ETL и выполнит `check`. `make up` не запускает live-генератор; live запустит ETL и выполнит `check`. `make up` не запускает live-генератор; live
включается отдельно командой `make generator-continue`. включается отдельно командой `make generator-continue`.
@@ -49,7 +51,9 @@ Airflow-образ и подтягивает новые зависимости
собирается позже, когда DM уже готов: через `make generated-history-analytics` собирается позже, когда DM уже готов: через `make generated-history-analytics`
или `make superset-init`. или `make superset-init`.
Для полностью автоматического чистого прогона из консоли остаётся команда: Для полностью автоматического чистого прогона из консоли есть команда — это
тот же путь, что выше через Airflow UI, но одной командой и без ручных шагов
(DDL она применяет сама, отдельный `make ddl` не нужен):
```bash ```bash
make generated-history-analytics make generated-history-analytics
+3 -1
View File
@@ -36,7 +36,9 @@
``` ```
Эта команда проводит штатный путь стенда: готовый источник данных создаёт стартовую Эта команда проводит штатный путь стенда: готовый источник данных создаёт стартовую
историю, события попадают в Kafka, затем в STG, ODS, DDS, DM и Superset. Файлы историю, события попадают в Kafka, затем в STG, ODS, DDS, DM и Superset. Это тот же
путь, что ручной вариант из README (Airflow UI и операция `backfill`), но одной
командой — выбери один из двух, оба ведут к одинаковому стенду. Файлы
`data/*.jsonl` пока остаются только кладовкой готовых значений для генератора `data/*.jsonl` пока остаются только кладовкой готовых значений для генератора
(браузеры, страны, устройства, UTM), а не источником аналитического контура. `make up` (браузеры, страны, устройства, UTM), а не источником аналитического контура. `make up`
после неё поднимает остальные UI-сервисы курса: Kafka UI, Airflow, Prometheus и Grafana. после неё поднимает остальные UI-сервисы курса: Kafka UI, Airflow, Prometheus и Grafana.
+8 -4
View File
@@ -67,8 +67,10 @@ make generated-history-analytics
make up make up
``` ```
Если хочешь отдельно посмотреть Airflow-run после готовой истории, запусти `etl_pipeline` Учти: путь `generated-history-analytics` собирает витрины напрямую, без запуска
в Airflow с конфигом: `etl_pipeline`, поэтому панели про задачи Airflow в `Airflow Overview` останутся
пустыми, пока ты хотя бы раз не запустишь `etl_pipeline` сам (это делалось в
уроке 4). Запустить его можно в Airflow с конфигом:
```json ```json
{"full_refresh": true} {"full_refresh": true}
@@ -118,11 +120,13 @@ curl -s http://localhost:9090/api/v1/targets | grep -o '"health":"[^"]*"'
- строка поиска сверху помогает быстро найти `ClickHouse Overview`, `Kafka Overview` или - строка поиска сверху помогает быстро найти `ClickHouse Overview`, `Kafka Overview` или
`Airflow Overview`, если меню выглядит иначе. `Airflow Overview`, если меню выглядит иначе.
В **Dashboards** должны быть три дашборда: В **Dashboards** должны быть четыре дашборда:
- `ClickHouse Overview`; - `ClickHouse Overview`;
- `Kafka Overview`; - `Kafka Overview`;
- `Airflow Overview`. - `Airflow Overview`;
- `Generator Overview` — про live-генератор; на backfill-only стенде он пуст,
как и target `generator` выше, и в этом уроке не понадобится.
Открой каждый и смотри не на красоту графиков, а на смысл: какой слой стенда он показывает и Открой каждый и смотри не на красоту графиков, а на смысл: какой слой стенда он показывает и
какой вопрос помогает задать. какой вопрос помогает задать.