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插件, 实时数据处理, 数据工程, 数据湖, 物联网, 请求拦截, 软件成分分析, 逆向工具