Проект — монорепозиторий с едиными соглашениями по путям, конфигам и документации. Ниже — роли каталогов и как компоненты сходятся в рантайме (Docker Compose).
| Путь | Роль |
|---|---|
pipelines/ |
Airflow: DAG, плагины, datasets |
services/ |
Общий Python: хранилища, Kafka, логи, метрики; dbt-rest — запуск dbt по HTTP |
spark/jobs/ |
Точки входа Spark-задач |
spark/common/ |
Утилиты (lib_runtime, spark_session), подключаются в job как py_files |
ml/training/ |
Скрипты обучения (например, train_order_value_model.py) |
ml/configs/, ml/features/, ml/inference/, ml/models/ |
ML-конфиги, фичи, вывод, артефакты |
generators/ |
Синтетика: generator.py, kafka/, common/ |
dbt/ |
dbt: models/ (staging, vault, marts, serving), тесты, макросы |
configs/ |
YAML: пайплайны, Airflow, Spark |
infra/ |
Init SQL, ingress (nginx), Grafana/Prometheus |
scripts/ |
Вспомогательные CLI |
tests/ |
Pytest |
Сводка назначения платформы: PROJECT_SUMMARY.md.
docker composeподнимает, среди прочего: PostgreSQL (роли OLTP/OLAP/meta), Kafka, MinIO, Spark, Airflow, MLflow, Prometheus, ingress (nginx).- В Airflow смонтированы
pipelines/,services/,spark/,ml/,generators/,configs/,dbt/. - Spark workers получают
spark/jobsиspark/conf;py_files— общий runtime изspark/common/. - dbt Docs по префиксу
/dbt/: nginx отдаёт статику из смонтированногоdbt/target/(послеdbt docs generate). Запуск dbt — Airflow иdbt-rest(см. WEB_UI_ACCESS.md, API.md). - Наблюдаемость: JSON-логи, метрики Prometheus, дашборды Grafana — конфиги в
infra/monitoring/; см. также OBSERVABILITY_AND_LOGGING.md и TESTING_AND_DATA_QUALITY.md (отличие от dbt DQ).
OLTP, Kafka, MinIO
-> ingestion (Airflow)
-> raw / landing в БД
-> Spark: препроцессинг -> staging
-> загрузка Data Vault (hubs, links) -> SCD2 в satellites
-> dbt: staging (views) + vault + marts + serving
-> data quality, serving-оптимизации
-> ML-обучение (Spark) -> MLflow
Схемы: diagrams/dwh-schemas.md (схемы БД), diagrams/data_vault_flow.md (поток DV). Фактическая цепочка DAG: PIPELINES.md.
- SETUP.md — запуск
- Generators.md — источники данных
- ARCHITECTURE_ATLAS.md — Atlas (каталог), прямые порты vs ingress
- ARCHITECTURE_CDC.md — Debezium, Schema Registry, Spark CDC