Skip to content

Add student implementation and demo link (issue #37)#90

Open
souka-kh wants to merge 1 commit into
FinanceLake:mainfrom
souka-kh:feature/app-demo-video
Open

Add student implementation and demo link (issue #37)#90
souka-kh wants to merge 1 commit into
FinanceLake:mainfrom
souka-kh:feature/app-demo-video

Conversation

@souka-kh

@souka-kh souka-kh commented Jan 9, 2026

Copy link
Copy Markdown

📊 FinanceLake – Real-Time Financial Data Lake

👩‍💻 Réalisé par

Khodder Soukaina
Soad Ourrais


🎯 Objectif du Projet

FinanceLake est un mini-projet Big Data visant à concevoir et implémenter un Data Lake temps réel pour l’analyse des données financières (marché boursier).
Le projet met en œuvre un pipeline complet allant de la génération / ingestion des données, jusqu’à leur analyse, modélisation et visualisation, en utilisant les technologies de l’écosystème Apache Spark.

Ce projet a pour but de démontrer :

  • La maîtrise des architectures Big Data modernes
  • Le traitement temps réel (streaming)
  • L’analyse analytique et prédictive des données financières

🏗️ Architecture Générale

Le projet repose sur une architecture de type Lambda Architecture, combinant :

  • Traitement temps réel (Speed Layer) avec Spark Structured Streaming
  • Traitement analytique (Batch Layer) via des fichiers Parquet
  • Couche de service (Serving Layer) pour les requêtes SQL, le Machine Learning et la visualisation

📌 Les données sont organisées selon une logique pipeline :
Source → Ingestion → Transformation → Agrégation → Stockage → Analyse → Visualisation


📥 Source des Données

  • Génération simulée de données boursières pour plusieurs actions :
    • AAPL, GOOGL, AMZN, MSFT, TSLA, META, NVDA
  • Chaque donnée contient :
    • Symbole de l’action
    • Prix
    • Volume
    • Timestamp
  • Fréquence : 1 fichier JSON par seconde

⚙️ Traitement Temps Réel (Streaming)

  • Technologie : Apache Spark Structured Streaming
  • Fonctionnalités principales :
    • Lecture continue des fichiers JSON
    • Schéma explicite des données
    • Agrégation par fenêtres temporelles :
      • Fenêtre : 10 secondes
      • Glissement : 5 secondes
    • Calculs :
      • Prix moyen
      • Volatilité (écart-type)
      • Volume total
      • Nombre de transactions
      • Prix minimum et maximum

💾 Stockage des Données

Les résultats sont stockés dans plusieurs formats selon l’usage :

  • Memory Table
    • Pour exécuter des requêtes Spark SQL en temps réel
  • Parquet
    • Pour l’analyse avancée et le Machine Learning
  • Console
    • Pour le monitoring du streaming

📊 Analyse avec Spark SQL

  • Création de vues temporaires
  • Requêtes analytiques :
    • Prix moyen par action
    • Actions les plus volatiles
    • Périodes de fort volume de transactions
  • Optimisations :
    • Mise en cache des DataFrames
    • Analyse des plans d’exécution
    • Utilisation de l’optimiseur Catalyst

🤖 Machine Learning (Spark MLlib)

  • Feature Engineering :
    • Décalages de prix (lag features)
    • Volume précédent
    • Informations temporelles (heure, jour)
  • Modèles implémentés :
    • Régression Logistique
    • Random Forest
  • Évaluation :
    • Accuracy
    • Precision
    • Recall
    • F1-score
    • AUC

🎯 Objectif : prédire la direction du prix (hausse / baisse)


📈 Visualisation des Données

  • Génération de graphiques :
    • Évolution du prix moyen
    • Comparaison de la volatilité
    • Distribution des volumes
    • Heatmap des transactions
  • Extension financière :
    • RSI (Relative Strength Index)
    • Identification des zones de surachat / survente

Les graphiques sont sauvegardés dans le dossier screenshots/.


🧰 Technologies Utilisées

  • Apache Spark 3.5
  • Python 3
  • Spark SQL
  • Spark Structured Streaming
  • Spark MLlib
  • Parquet
  • Matplotlib / Seaborn
  • Git & GitHub

🚀 Conclusion

Le projet FinanceLake illustre une solution complète de Data Lake temps réel appliquée au domaine financier.
Il démontre la capacité à concevoir une architecture Big Data scalable, performante et orientée analyse prédictive, en s’appuyant sur les meilleures pratiques de l’écosystème Spark.


📌 Projet réalisé par Khodder Soukaina & Soad Ourrais

@pr-elhajji

Copy link
Copy Markdown
Contributor

Hi
you have to describe you PR!

@pr-elhajji

Copy link
Copy Markdown
Contributor

Thanks for the contribution! Looking through this, it seems some of the Figma requirements weren't fully met. Let’s sync up to make sure we’re on the same page, or feel free to take another pass at it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants