Files
clickstream-ch-kafka-supers…/docs/REPO_MAP.md
T
ddadmin d35254ead6 feat(stand): переведён аналитический путь на стартовую историю
- Зачем:
  - чистый стенд должен строить аналитику из генерации, а не из архивного JSONL-сида.
- Что:
  - добавлены команды generated-history-analytics и generated-history-check.
  - обновлены README, operations и Superset-документы под путь generator backfill -> DM -> Superset.
  - создан follow-up на миграцию учебных материалов с архивного сида.
- Проверка:
  - make generated-history-analytics.
  - make generated-history-check.
  - reviewer gate issue 06 пройден без блокирующих находок.
2026-06-14 20:22:17 +03:00

5.1 KiB

Repo Map

Карта ключевых артефактов репозитория.

Исполняемые файлы

Airflow (ручной и учебный путь запуска)

  • airflow/dags/ddl_init_dag.py — инициализация схемы ClickHouse
  • airflow/dags/kafka_load_dag.py — архивная загрузка в Kafka из JSONL; не основной источник аналитики
  • airflow/dags/etl_pipeline_dag.py — ETL процесс STG -> ODS -> DDS -> DM
  • airflow/dags/utils/kafka_helpers.py — helper-функции для Kafka
  • airflow/dags/utils/sql_helpers.py — чтение и подготовка SQL-файлов для DAG
  • airflow/dags/utils/airflow_params.py — разбор и валидация параметров DAG
  • airflow/requirements.txt — зависимости Airflow/ClickHouse plugin

SQL

DDL (форма таблиц):

  • sql/ddl/00_databases.sql — создание БД stg/ods/dds/dm
  • sql/ddl/stg/10_stg.sql — STG (Kafka Engine + MV)
  • sql/ddl/ods/20_ods.sql — ODS: типизированные таблицы и *_errors (наполняются batch, не MV)
  • sql/ddl/dds/30_dds.sql — DDS (таблицы для batch-загрузки)
  • sql/ddl/dm/40_dm.sql — DM (витрины VIEW)

Трансформации (наполнение, шаги etl_pipeline):

  • sql/ods/20_stg_to_ods.sql — STG -> ODS: типизация + DQ-split (валидный ключ → ods.*, любая ошибка → ods.*_errors)
  • sql/dds/30_ods_to_dds.sql — ODS -> DDS (argMax + LEFT JOIN)
  • sql/dm/40_dds_to_dm.sql — DDS -> DM: пересборка dm.dq_summary (TRUNCATE+INSERT) по всем слоям; сами витрины dm.v_* — это VIEW из DDL

Superset

  • superset/init_superset.py — подключение к ClickHouse + создание датасетов
  • superset/create_dashboard.py — сборка дашборда с чартами

Скрипты

Shell-скрипты scripts/* и Makefile-обёртки дают повторяемый локальный запуск. Основной чистый путь аналитики — make generated-history-analytics.

  • scripts/apply_clickhouse_ddl.sh — применение DDL
  • scripts/load_kafka_data.sh — архивная загрузка data/*.jsonl в Kafka
  • scripts/run_batch.sh — batch-процесс
  • scripts/run_generated_history_analytics.sh — чистый прогон стартовой истории до DM и Superset
  • scripts/check_generated_analytics.sh — проверка DM-витрин и Superset metadata на данных генерации

Данные и конфиги

  • data/*.jsonl — архивная фактура для генератора; не основной источник аналитики
  • configs/ — конфиги ClickHouse, Prometheus, Grafana
  • configs/prometheus.yml — конфигурация Prometheus (scrape targets для ClickHouse, Kafka, Airflow)
  • configs/statsd_mapping.yml — маппинг StatsD → Prometheus метрик для Airflow
  • configs/default_user.xml — пользователь ClickHouse (default/123456)
  • configs/prometheus_ch.xml — встроенный Prometheus endpoint ClickHouse
  • configs/grafana/provisioning/alerting/clickhouse-alert-rules.yml — правила алертинга Grafana для ClickHouse
  • configs/grafana/provisioning/alerting/kafka-alert-rules.yml — правила алертинга Grafana для Kafka
  • configs/grafana/provisioning/alerting/airflow-alert-rules.yml — правила алертинга Grafana для Airflow
  • configs/grafana/provisioning/dashboards/clickhouse-overview.json — дашборд ClickHouse
  • configs/grafana/provisioning/dashboards/kafka-overview.json — дашборд Kafka
  • configs/grafana/provisioning/dashboards/airflow-overview.json — дашборд Airflow

Документация

  • README.md — быстрый старт и обзор проекта
  • docs/ARCHITECTURE.md — техническая архитектура
  • docs/OPERATIONS.md — запуск, проверки, troubleshooting
  • docs/SUPERSET_DASHBOARD.md — настройка и использование дашборда Superset
  • docs/DE-task.md — исходное задание
  • docs/COMMIT_RULES.md — правила коммитов
  • docs/course/ — продвинутый учебный курс на базе стенда (PRD, план, уроки)
  • docs/adr/ — архитектурные решения (ADR)
  • docs/agents/ — контракты для агентских скиллов (issue-tracker, triage, domain)

Legacy-планы

  • plans/clickhouse_ddl.md — исходный план (inline DDL)
  • plans/runbook.md — ранний runbook
  • plans/kafka_ingest_plan.md — ранний план Kafka ingest
  • plans/monitoring_airflow_plan.md — план подключения Airflow мониторинга
  • plans/monitoring_kafka_plan.md — план подключения Kafka мониторинга