fix(airflow): исправлен запуск пульта на свежем стенде
- Зачем: - свежий стенд должен доходить до generator_control без скрытых ручных шагов и зависаний. - Что: - quick start явно готовит DDL и откладывает Superset init до готового DM. - generator_control проверяет паузу etl_pipeline до мутирующих шагов. - make up пересобирает Airflow и поднимает базовый набор сервисов. - Проверка: - make generator-test; docker compose config --quiet; make clean; make up; make ddl.
This commit is contained in:
+12
-1
@@ -6,7 +6,7 @@
|
||||
|
||||
Базовые команды:
|
||||
|
||||
- `make up` (или `docker compose up -d`)
|
||||
- `make up` (поднимает базовый стенд без Superset init; пересобирает Airflow-образ)
|
||||
- `make down` (остановить и удалить контейнеры/сети проекта)
|
||||
- `make clean` (полная очистка: `down -v --remove-orphans`)
|
||||
- `make generated-history-analytics` (штатный чистый прогон: стартовая история
|
||||
@@ -63,6 +63,17 @@ Backfill/import требуют чистый стенд: пустые data-топ
|
||||
в DAG нет: live-генератор — долгоживущий сервис, его запускают с консоли через
|
||||
`make generator-continue`.
|
||||
|
||||
Перед запуском `etl_pipeline` пульт проверяет, что DAG не стоит на паузе. Если
|
||||
стоит, задача падает сразу с подсказкой снять паузу в UI или командой:
|
||||
|
||||
```bash
|
||||
docker compose exec -T airflow-webserver airflow dags unpause etl_pipeline
|
||||
```
|
||||
|
||||
После обновления репозитория выполните `make up`, чтобы Airflow получил новые
|
||||
зависимости и DAG-и через пересборку образа. Superset metadata собирается после
|
||||
готового DM: через `make generated-history-analytics` или `make superset-init`.
|
||||
|
||||
### `ddl_init`
|
||||
|
||||
- Запуск: ручной (`Trigger DAG`)
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
слова с живым стендом.
|
||||
- **Железо:** стек тяжёлый — Kafka, ClickHouse, Airflow, Superset, Prometheus и Grafana
|
||||
поднимаются одновременно. Нужна машина, которая это потянет.
|
||||
- **Инструменты:** `Docker` с `docker compose`, `make`, `bash`, `curl`, `git` и `uv`.
|
||||
`uv` нужен для локальных Python-проверок и команд разработки.
|
||||
- **Подними стенд и создай стартовую историю** (из корня репозитория) — этого хватит,
|
||||
чтобы начать, и прогон быстрый:
|
||||
|
||||
|
||||
@@ -142,6 +142,11 @@ ClickHouse уже успел прочитать частичные сообще
|
||||
PROFILE=daily-wave make generator-continue
|
||||
```
|
||||
|
||||
У `daily-wave` скорость ×60. Долгий простой стенда создаёт большую дыру в
|
||||
модельном времени: ночь простоя может стать десятками модельных суток без
|
||||
событий. Для чистой демонстрации лучше запустите `make generator-reset` или
|
||||
повторите импорт стартовой истории через `make startup-history-import`.
|
||||
|
||||
Если читаемый state есть, но настройки не совпадают, генератор падает с перечнем
|
||||
полей. Это защита от смешения разных миров. Для намеренного нового мира
|
||||
используйте `make generator-reset` или `make clean`.
|
||||
|
||||
Reference in New Issue
Block a user