Ce projet met en œuvre une pipeline Big Data complète avec Spark, MongoDB, Kafka et MinIO.
- Docker & Docker Compose
- Python 3.10+
docker-compose up -dVérifiez que tout tourne : docker ps
docker exec -u 0 spark-master sh -c "mkdir -p /home/spark/.ivy2/cache && chown -R 185:185 /home/spark"
docker exec -u 0 spark-master python3 -m pip install -r /opt/spark-apps/requirements.txtpython -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtpython flows/bronze_ingestion.pydocker exec spark-master python3 /opt/spark-apps/flows/silver_spark.pydocker exec spark-master python3 /opt/spark-apps/flows/gold_spark.pypython flows/load_mongo.pyuvicorn api.main:app --host 0.0.0.0 --port 8000Accès : http://localhost:8000/docs
streamlit run dashboard/streamlit_app.pyAccès : http://localhost:8501
docker exec spark-master python3 /opt/spark-apps/flows/ml_churn_spark.pyTerminal 1 : Producteur
python streaming/producer.pyTerminal 2 : Consommateur Spark
docker exec spark-master python3 /opt/spark-apps/streaming/consumer.py- Accédez à http://localhost:3000
- Créez un compte admin
- Ajoutez une base de données :
- Type : MongoDB
- Host :
mongo - Port :
27017 - Database :
analytics_db - Username :
root - Password :
rootpassword - Authentication Database :
admin
| Service | URL |
|---|---|
| MinIO Console | http://localhost:9001 |
| Prefect UI | http://localhost:4200 |
| Spark Master | http://localhost:8080 |
| Mongo Express | http://localhost:8081 |
| FastAPI | http://localhost:8000 |
| Streamlit | http://localhost:8501 |
| Metabase | http://localhost:3000 |