Skip to content

oracul-analytics/data-challenge

Repository files navigation

Формат челленджа

В репозитории представлены три сэндбокса с примером реализации типовых задач для дата-инженера. Это референсные примеры, показывающие уровень сложности, структуру и воспроизводимость решений.

Твоя задача - не переписать/взять код, а реализовать или улучшить подход:

  • повторить сценарий своим способом
  • оптимизировать архитектуру, алгоритмы, пайплайны
  • расширить функциональность (новые метрики, проверки, фичи)

Все три модуля решают разные аспекты:

  • 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-монорепа

Модули завёрнуты в общий 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 не нужен.