- Зачем: - чистый стенд должен строить аналитику из генерации, а не из архивного 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 пройден без блокирующих находок.
5.1 KiB
5.1 KiB
Repo Map
Карта ключевых артефактов репозитория.
Исполняемые файлы
Airflow (ручной и учебный путь запуска)
airflow/dags/ddl_init_dag.py— инициализация схемы ClickHouseairflow/dags/kafka_load_dag.py— архивная загрузка в Kafka из JSONL; не основной источник аналитикиairflow/dags/etl_pipeline_dag.py— ETL процесс STG -> ODS -> DDS -> DMairflow/dags/utils/kafka_helpers.py— helper-функции для Kafkaairflow/dags/utils/sql_helpers.py— чтение и подготовка SQL-файлов для DAGairflow/dags/utils/airflow_params.py— разбор и валидация параметров DAGairflow/requirements.txt— зависимости Airflow/ClickHouse plugin
SQL
DDL (форма таблиц):
sql/ddl/00_databases.sql— создание БДstg/ods/dds/dmsql/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— применение DDLscripts/load_kafka_data.sh— архивная загрузкаdata/*.jsonlв Kafkascripts/run_batch.sh— batch-процессscripts/run_generated_history_analytics.sh— чистый прогон стартовой истории до DM и Supersetscripts/check_generated_analytics.sh— проверка DM-витрин и Superset metadata на данных генерации
Данные и конфиги
data/*.jsonl— архивная фактура для генератора; не основной источник аналитикиconfigs/— конфиги ClickHouse, Prometheus, Grafanaconfigs/prometheus.yml— конфигурация Prometheus (scrape targets для ClickHouse, Kafka, Airflow)configs/statsd_mapping.yml— маппинг StatsD → Prometheus метрик для Airflowconfigs/default_user.xml— пользователь ClickHouse (default/123456)configs/prometheus_ch.xml— встроенный Prometheus endpoint ClickHouseconfigs/grafana/provisioning/alerting/clickhouse-alert-rules.yml— правила алертинга Grafana для ClickHouseconfigs/grafana/provisioning/alerting/kafka-alert-rules.yml— правила алертинга Grafana для Kafkaconfigs/grafana/provisioning/alerting/airflow-alert-rules.yml— правила алертинга Grafana для Airflowconfigs/grafana/provisioning/dashboards/clickhouse-overview.json— дашборд ClickHouseconfigs/grafana/provisioning/dashboards/kafka-overview.json— дашборд Kafkaconfigs/grafana/provisioning/dashboards/airflow-overview.json— дашборд Airflow
Документация
README.md— быстрый старт и обзор проектаdocs/ARCHITECTURE.md— техническая архитектураdocs/OPERATIONS.md— запуск, проверки, troubleshootingdocs/SUPERSET_DASHBOARD.md— настройка и использование дашборда Supersetdocs/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— ранний runbookplans/kafka_ingest_plan.md— ранний план Kafka ingestplans/monitoring_airflow_plan.md— план подключения Airflow мониторингаplans/monitoring_kafka_plan.md— план подключения Kafka мониторинга