# DE-task: краткое ТЗ проекта Дата актуализации: 14 февраля 2026. ## Цель Собрать учебный DE-стенд, который показывает полный путь данных: `Kafka -> ClickHouse (STG/ODS/DDS/DM) -> BI`, с устойчивой обработкой "грязных" данных и понятной наблюдаемостью. ## Что нужно сделать - Развернуть стек в `docker compose`: Kafka, ClickHouse, Airflow, Superset, Prometheus, Grafana. - Организовать ingest в Kafka в двух режимах: - `bootstrap`: загрузка JSONL через Airflow DAG `kafka_load`; - `steady-stream`: автономный генератор, работающий независимо от потребителей. - Построить слои хранилища `STG -> ODS -> DDS -> DM` в ClickHouse. - Настроить регулярные трансформации в Airflow (`ddl_init`, `etl_pipeline`). - Подготовить витрины и дашборд для первичного анализа. ## Ключевые требования - "Грязные" записи не должны валить пайплайн: ошибки фиксируются в ODS/DQ-слое. - Генератор работает отдельно от потребителей и Airflow-триггеров. - Решение должно быть воспроизводимым и пригодным для учебной демонстрации. ## Границы MVP - Один простой режим генератора (`steady-stream`) без сложных сценариев. - Без production-гарантий уровня exactly-once. - Фокус на рабочем end-to-end контуре, а не на полной симуляции реального продакшена. ## Критерии готовности 1. Стенд стабильно запускается и работает несколько часов. 2. Данные корректно проходят путь Kafka -> STG -> ODS -> DDS -> DM. 3. Поток событий в Kafka идёт постепенно малыми порциями, без искусственного минутного burst. 4. Есть базовый дашборд и метрики для разбора работы стенда. ## Где детали реализации - Техническая архитектура: `docs/ARCHITECTURE.md` - План по генератору: `plans/generator_demo_stream_plan.md` - Эксплуатация и запуск: `docs/OPERATIONS.md`