LIDONI/Architecture-de-donneess-automatisee

GitHub: LIDONI/Architecture-de-donneess-automatisee

一个企业级数据工程 POC,通过整合 Kafka 流处理与 Power BI 可视化,实现员工体育奖励的自动化判定与财务影响分析。

Stars: 0 | Forks: 0

# 自动化数据架构 这是一个数据工程概念验证(POC)项目,旨在通过奖励系统鼓励企业内部的体育活动。完整的 Pipeline 包括:HR 与运动数据摄入、Python 处理、Kafka (Redpanda) 流处理、PostgreSQL 存储以及 Power BI 可视化。检测符合条件的员工并分析财务影响。 ## Sport Data Solution – 体育奖励 POC ## 背景 Sport Data Solution 希望通过建立一套奖励机制来鼓励员工参与体育锻炼: | 奖励 | 条件 | |----------|-----------| | **5% 奖金**(基于年度毛薪)| 通过运动方式通勤(自行车、跑步、步行、滑板车)| | 每年 **5 天“福利假”**| 保持积极的体育活动(每年 ≥ 15 次活动)| ### POC 目标 - 测试技术可行性 - 识别所需数据 - 计算对公司的财务影响 ## 技术架构 [![Pipeline 架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/20dfc68bdc015227.png)](https://github.com/LIDONI/Architecture-de-donneess-automatisee/blob/55d1898c2a62bba3e19334698491426814ea8efb/Pipeline.png) ### 所用组件 | 组件 | 作用 | |-----------|------| | **Python** | 提取、模拟和处理 | | **Kafka (Redpanda)** | 数据流处理与解耦 | | **PostgreSQL** | 持久化存储 | | **Power BI** | 可视化与仪表板 | | **Docker** | 容器化 | ## 项目结构 Sport-data-solution/ ├── data/ │ ├── raw/ │ │ ├── Donnees_RH.xlsx │ │ └── Donnees_Sportive.xlsx │ └── processed/ │ ├── final_dataset.csv │ ├── strava_activities.csv │ └── slack_messages.csv ├── src/ │ ├── extract/ │ │ └── extract_excel.py │ ├── transform/ │ │ ├── clean_rh.py │ │ ├── calculate_distance.py │ │ ├── simulate_strava.py │ │ ├── business_rules.py │ │ └── slack_generator.py │ ├── streaming/ │ │ └── strava_producer.py │ └── monitoring/ │ └── monitoring.py ├── pipeline.py ├── strava_consumer_csv.py ├── import_csv_to_postgres.py └── requirements.txt text ## 安装 ### 1. 克隆项目 ``` - git clone - cd Sport-data-solution ``` ### 2. 创建虚拟环境 ``` - python -m venv venv - venv\Scripts\activate # Windows - source venv/bin/activate # Linux / Mac ``` ### 3. 安装依赖 ``` pip install -r requirements.txt ``` ### 4. 启动 Docker 容器 ``` - docker start redpanda - docker start postgres ``` ## 运行 Pipeline ### 步骤 1 – 批处理 Pipeline(初始生成) python pipeline.py **生成的文件:** ``` - data/processed/final_dataset.csv - data/processed/strava_activities.csv - data/processed/slack_messages.csv - data/monitoring/monitoring_report.json ``` ### 步骤 2 – Kafka 流处理 **终端 1 – Consumer** ``` python strava_consumer_csv.py ``` **终端 2 – Producer** ``` python src/streaming/strava_producer.py ``` ### 步骤 3 – 导入到 PostgreSQL ``` python import_csv_to_postgres.py ``` ### 步骤 4 – Power BI 可视化 **打开 Power BI Desktop** **获取数据 → PostgreSQL** 填写信息: - 服务器:localhost - 数据库:strava - 用户名:postgres - 密码:xxxxxxx - 导入 athlete_stats 表 - 创建仪表板 # 👤 作者

Hi 👋, I'm khalid

Data & Cloud Engineer|| Power BI and Qlik sense developer

本项目由以下人员完成: **khalid OURO-ADOYI** 📧 邮箱:khalidouroadoyi@gmail.com 🔗 [LinkedIn](https://www.linkedin.com/in/khalid-ouro-adoyi/) | [GitHub](https://github.com/LIDONI) - 📫 联系方式 **khalidouroadoyi@gmail.com** - 👨‍💻 我所有的项目均可在 [https://github.com/lidoni?tab=repositories](https://github.com/lidoni?tab=repositories) 查看 - 📄 您可以在我的 LinkedIn 帖子中查看我的演示文稿 [https://www.linkedin.com/in/khalid-ouro-adoyi/](https://www.linkedin.com/in/khalid-ouro-adoyi/)
标签:Apache Kafka, Docker, ETL, JavaCC, POC, PostgreSQL, Power BI, Python, Redpanda, Strava模拟, 人力资源分析, 企业福利, 体育数据分析, 员工健康, 多线程, 安全防御评估, 数据工程, 数据管道, 无后门, 流式处理, 测试用例, 激励系统, 自动化架构, 请求拦截, 财务影响分析, 软件工程, 逆向工具