В репозитории представлены три сэндбокса с примером реализации типовых задач для дата-инженера. Это референсные примеры, показывающие уровень сложности, структуру и воспроизводимость решений.
Твоя задача - не переписать/взять код, а реализовать или улучшить подход:
- повторить сценарий своим способом
- оптимизировать архитектуру, алгоритмы, пайплайны
- расширить функциональность (новые метрики, проверки, фичи)
Все три модуля решают разные аспекты:
pipeline_anomaly— ETL и детект аномалийfeature_store_ml— feature store и инференсdata_quality_monitor– контроль качества данных
Используй их как ориентир, а не как готовое решение.
Tip
Не забудьте поставить Star
| Каталог | Сценарий | Стек |
|---|---|---|
pipeline_anomaly |
Мини-ETL + детект аномалий | Python 3.11, ClickHouse, scikit-learn |
feature_store_ml |
Feature store и инференс | Python 3.11, LightGBM, ClickHouse |
data_quality_monitor |
Сервис контроля качества данных | Python 3.11, FastAPI, pydantic |
Каждый модуль содержит README.md с детальным гайдлайном по запуску и инфраструктуре.
Модули завёрнуты в общий Nx-воркспейс для бесшовного управления пайплайнами. Чтобы подхватить зависимости, включаем Corepack и тянем Yarn 4. Yarn едет в pnp с глобальным кешем, никаких node_modules:
corepack enable
corepack prepare yarn@stable --activate
yarn installОсновные команды гоняем через yarn nx run <project>:<target>:
| Проект | Таргет | Что делает |
|---|---|---|
pipeline-anomaly |
install |
Ставит poetry-зависимости |
infra-up / infra-down |
Поднимает / тушит ClickHouse | |
pipeline |
Прогоняет ETL и детект аномалий | |
test |
pytest для генераторов и пайплайна | |
feature-store-ml |
install |
Подтягивает окружение для feature store |
infra-up / infra-down |
Управляет ClickHouse витринами | |
features |
Материализует фичи | |
train |
Обучает модель | |
serve |
Заливает предикты | |
test |
pytest по registry и пайплайну | |
data-quality-monitor |
install |
Ставит сервис проверки качества |
infra-up / infra-down |
Поднимает ClickHouse + метрики | |
api |
Локальный FastAPI | |
run-checks |
Гоняет проверки качества | |
test |
pytest для правил |
Nx просто дергает make внутри каждого модуля, так что можно продолжать пользоваться локальными Makefile-ами, если Nx не нужен.