Dhwani294/-Renewable-Energy-Monitoring-Pipeline
GitHub: Dhwani294/-Renewable-Energy-Monitoring-Pipeline
一个基于Kafka、PySpark和Delta Lake的实时可再生能源数据管道,模拟IoT传感器数据并完成流式处理、异常检测与多维分析。
Stars: 0 | Forks: 0
# ⚡ 实时可再生能源监控 Pipeline
一个生产级的**端到端数据工程项目**,使用现代大数据工具来模拟、处理和分析实时可再生能源数据。
## 🌍 项目概述
本项目复刻了一个真实的**基于 IoT 的可再生能源监控系统**,其中太阳能和风能站点会持续产生数据。该 Pipeline 实时摄取、处理和分析这些数据,以实现**运营洞察和异常检测**。
## 🏗️ 架构
```
IoT Sensor Simulator (Python)
↓
Apache Kafka
↓
PySpark Structured Streaming
↓
Delta Lake (Data Lake)
↓
Spark SQL
↓
Power BI Dashboard
```
## 🚀 核心功能
✨ **实时数据流**
* 模拟来自多个可再生能源站点的 IoT 传感器数据
* 通过 Kafka 持续流式传输数据
📊 **高级数据处理**
* 使用 PySpark 清理和转换流式数据
* 处理空值、损坏的记录并强制执行 schema
⚡ **异常检测**
* 检测能源产量突然下降(>30%)的情况
* 使用滚动窗口聚合进行实时监控
🧱 **Medallion 架构(行业标准)**
* **Bronze** → 原始数据摄取
* **Silver** → 清洗 + 结构化数据
* **Gold** → 聚合洞察
📁 **高效数据存储**
* 使用 Delta Lake 实现:
* ACID 事务
* Time travel
* 可扩展的存储
📈 **随时可用于商业洞察**
* 预置用于分析的 SQL 查询
* 可用于 Power BI 可视化的数据集
## 📂 项目结构
```
├── producer/ # Kafka producer (IoT simulator)
├── consumer/ # PySpark streaming pipeline
├── sql/ # Analytical SQL queries
├── notebooks/ # Databricks / exploration notebooks
├── dashboard/ # Power BI files (optional)
├── configs/ # Configuration files
├── docker-compose.yml
├── requirements.txt
└── README.md
```
## ⚙️ 安装说明
### 1️⃣ 启动 Kafka (Docker)
```
docker-compose up -d
```
### 3️⃣ 运行 Streaming Consumer
```
spark-submit consumer/consumer.py
```
### 4️⃣ 查询数据(可选)
使用 Spark SQL 或 Notebook 运行 `/sql` 文件夹中的查询。
## 📊 分析用例示例
* 📅 **每个站点的单日能源产量**
* 📈 **环比发电趋势**
* ⚠️ **表现最差的站点**
* ⚙️ **产能利用率**
* 📉 **7 天滚动平均值对比**
## 🧰 技术栈
| 层级 | 技术 |
| --------------- | ---------------------------- |
| 数据模拟 | Python |
| 流处理 | Apache Kafka |
| 处理 | PySpark Structured Streaming |
| 存储 | Delta Lake |
| 查询引擎 | Spark SQL |
| 可视化 | Power BI |
| 编排 | Docker |
## 💡 项目意义
本项目展示了**真实世界中的数据工程技能**:
* 设计可扩展的流处理 Pipeline
* 使用分布式系统(Kafka + Spark)
* 实施数据质量和异常检测
* 使用现代 data lake 架构
## 🔮 未来改进
* 🔁 增加 Airflow 进行编排
* ☁️ 部署到 Azure(Data Lake Gen2 + Databricks)
* 📡 集成真实的 IoT API
* 📊 构建交互式的 Power BI 仪表板
* 🧪 增加单元测试和集成测试
## 🤝 贡献
欢迎贡献!随时 fork、改进并提交 PR。
🚀 *为学习而构建。为惊艳而设计。*
标签:Delta Lake, Gradle集成, Kafka, PySpark, SonarQube插件, 实时数据处理, 数据工程, 数据湖, 物联网, 请求拦截, 软件成分分析, 逆向工具