This project aims to analyze and predict temperature variations in Morocco using big data technologies. Weather data was continuously collected through the OpenWeather API and ingested in real time using Apache Kafka.
# 🌤️ Morocco Weather Predictor
## 📌 Project Overview
The **Morocco Weather Predictor** is a big data project that focuses on analyzing and predicting temperature variations across Moroccan cities.
The system integrates multiple big data tools and machine learning techniques to handle real-time weather data from the **OpenWeather API**.
Key features include:
- ⚡ Real-time data ingestion with **Apache Kafka**.
- 🗄️ Efficient data storage and preprocessing **Mongo DB**.
- 🔥 Real-time data transformation using **Apache Spark**.
- 🤖 Predictive modeling with **Spark MLlib**.
- 📊 Interactive visualization with **Streamlit**.
This project demonstrates how big data technologies can be leveraged to create a scalable and intelligent weather forecasting system.
---
## 📂 Project Structure
```
Morocco-Weather-Predictor/
│── 📄 README.md # Project documentation
│── 📁 Repport/
│ └── 📄 Report.pdf # Detailed project report (French)
│
└── 📁 Base code/
├── 📄 producer_code1.py # Kafka producer for OpenWeather API
├── 📄 extraire_lesdonnees_code2.py # Data extraction & preprocessing
├── 📄 traitementSPARK_code3.py # Spark MLlib processing & modeling
├── 📄 visualisation_code4.py # Streamlit dashboard
└── 📄 temp.jpg # Sample temperature visualization
```
---
## 📘 Project Files
- **Report.pdf** → A detailed explanation of the project in French, covering methodology and results.
- **producer_code1.py** → Implements Kafka producer to stream data from the OpenWeather API.
- **extraire_lesdonnees_code2.py** → Extracts, cleans, and formats raw weather data.
- **traitementSPARK_code3.py** → Processes data in real time using Spark and trains predictive models with Spark MLlib.
- **visualisation_code4.py** → Builds an interactive dashboard with Streamlit for visualization of predictions and correlations.
- **temp.jpg** → Example output showing temperature analysis.
---
## 🛠️ Technologies Used
- **Python**
- **Apache …