sinistre-pipeline-python-pyspark

🧮 Sinistre Pipeline – Portfolio Data Engineering

Python PySpark CI code style: black Imports: isort pre-commit License: MIT

📄 Télécharger la fiche projet PDF

Bienvenue sur mon portfolio technique. Je suis Souleymane Sow, Data Engineer passionné par l’automatisation, la structuration et l’optimisation de pipelines distribués.


🎯 Objectif du projet

Ce projet PySpark traite des sinistres d’assurance en plusieurs étapes :


📊 Fonctionnalités principales


đź§Ş Technologies


đź§± Structure du projet


🧪 Générer les données parquet de test

Le script scripts/generate_parquet.py permet de générer un fichier Parquet simulé avec options en ligne de commande :

Exemple :

python scripts/generate_parquet.py --samples 1000 --output data/sinistres.parquet --validate

⚙️ Qualité & Validation

Le projet inclut deux types de tests :


📦 Installation et 🚀 Lancer le projet

Cloner le dépôt, créer l’environnement, générer les données parquet, lancer le pipeline et exécuter les tests :

# 1. Cloner le dépôt
git clone https://github.com/SouleymaneSow/sinistre-pipeline-python-pyspark.git

# 2. Se placer dans le dossier du projet
cd sinistre-pipeline-python-pyspark

# 3. Créer un environnement conda avec Python 3.11
conda create -n sinistre_env python=3.11

# 4. Activer l’environnement
conda activate sinistre_env

# 5. Installer les dépendances
pip install -r requirements.txt

# 6. Générer les données de test en parquet
python -m scripts.generate_parquet

# 7. Lancer le pipeline complet
python -m scripts.run_inference

# 8. Exécuter les tests unitaires
python -m pytest tests/

⚙️ Automatisation avec Makefile

Toutes les commandes du projet sont centralisées dans un Makefile pour simplifier l’exécution :

👉 Cela permet d’automatiser toutes les étapes (pipeline, tests, documentation) avec des commandes simples et reproductibles.


📚 Documentation technique (pdoc)

La documentation détaillée du code est générée automatiquement avec pdoc:

make docs

et accessible en ligne :


⚙️ Optimisations Spark


đź“‚ Voir le code sur GitHub

👉 Lien pour voir le code sur Github


Lien vers la fiche projet

👉 📄 Voir la fiche projet PDF