实时数据管道

SUPERSET是一个生产就绪的开源数据管道,结合了Apache Spark Streaming、Apache Kafka、PostgreSQL和Elasticsearch的强大功能,创建了一个完整的实时分析平台,适用于实时分析、ETL处理、商业智能、日志分析和机器学习特征工程。

  • by Araken13
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Araken13/mcp-superset-analitics-pipeline

使用说明

🚀 实时数据管道| Apache Spark+Kafka+Elasticsearch



用于流分析、ETL处理和商业智能的企业级实时数据管道


🎯 什么是超级集?

SUPERSET是一个 生产就绪的开源数据管道 它结合了 Apache Spark流媒体, Apache Kafka, PostgreSQL,以及 弹性搜索 创建一个完整的实时分析平台。

非常适合:

  • 📊 实时分析 -每秒处理数百万个事件
  • 🔄 ETL/ELT管道 -自动转换和加载数据
  • 📈 商业智能 -内置Superset仪表板
  • 🔍 日志分析 -Elasticsearch+Kibana集成
  • 🤖 ML特征工程 -实时特征提取

💡 关键差异

✅ 一个命令部署 -启动整个管道 ./startup.sh
✅ 自愈架构 -使用监视器自动重启Spark作业
✅ 生产安全 -行级安全(RLS)已启用
✅ 综合文档 -5200多行企业文档
✅ 自动化E2E测试 -包括7个集成测试
✅ 多数据库支持 -Postgres(OLTP)+Elasticsearch(OLAP)


🌟 特性

功能 描述 状态
🔥 一个命令启动 立即部署整个堆栈 ✅ 准备好了
🛡️ 99.9%正常运行时间SLA 具有自动重启功能的智能Spark看门狗 ✅ 准备好了
📊 流媒体分析 Apache Spark结构化流媒体✅ 准备好了
🔍 双数据库 PostgreSQL(关系型)+Elasticsearch(搜索型) ✅ 准备好了
📈 BI仪表板 Apache Superset+Kibana预配置 ✅ 准备好了
🔌 Supabase同步 自动同步潜在客户和聊天会话 ✅ 准备好了
🧪 E2E测试 7个自动化集成测试✅ 准备好了
📚 企业文档 完整的部署和使用指南 ✅ 准备好了
🐳 Docker Compose 9集装箱服务 ✅ 准备好了
🔐 安全第一 包括RLS、CORS、防火墙配置 ✅ 准备好了

🏗️ 建筑

┌─────────────────┐
│  LOVABLE SITE   │
│   (Supabase)    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐      ┌──────────────┐      ┌─────────────────┐
│  Supabase API   │─────▶│    Kafka     │─────▶│  Spark Stream   │
│   (REST API)    │      │ (eventos)    │      │   Processing    │
└─────────────────┘      └──────────────┘      └────────┬────────┘
                                                         │
                                                    ┌────┴────┐
                                                    ▼         ▼
                                            ┌──────────┐  ┌──────────┐
                                            │Postgres  │  │  Elastic │
                                            └─────┬────┘  └────┬─────┘
                                                  │            │
                                            ┌─────▼────┐  ┌────▼──────┐
                                            │Superset  │  │  Kibana   │
                                            └──────────┘  └───────────┘

🚀 快速开始

先决条件

  • Docker&Docker编写
  • Python 3.12+
  • 12-16gb内存
  • 200 GB+磁盘空间

安装(3分钟!)

# 1. Clonar repositório
git clone https://github.com/Araken13/mcp-superset-analitics-pipeline.git
cd SUPERSET

# 2. Configurar variáveis de ambiente
cp .env.example .env
# Editar .env com suas credenciais Supabase

# 3. Dar permissão aos scripts
chmod +x scripts/startup.sh scripts/healthcheck.sh scripts/spark-watchdog.sh

# 4. INICIAR TUDO!
./scripts/startup.sh

普罗托! 🎉

系统将:

  • ✅ Iniciar 9容器Docker
  • ✅ Aguardar容器健康
  • ✅ 复制并启动 Spark 作业
  • ✅ 检查连接
  • ✅ 显示访问 URL

📊 访问 URL

服务 URL 描述
📊 超集 http://localhost:8088 商业智能
🔍 基巴纳 http://localhost:5601 搜索和分析
⚡ Spark Master http://localhost:8080 作业监控
🗄️ 弹性搜索 http://localhost:9200 搜索API
🐘 pgAdmin http://localhost:5050 数据库管理员

🛡️ 看门狗-永不失败

哦 Spark监视器 每 60 秒监控 Spark 任务,并在发生故障时自动重新启动。

# Iniciar watchdog em background
nohup ./scripts/spark-watchdog.sh > /dev/null 2>&1 &

# Ver logs
tail -f /tmp/spark-watchdog.log

特征:

  • ✅ 自动重启com重试逻辑(3x)
  • ✅ 检查依赖关系( Kafka、 Postgres、 Spark)
  • ✅ 自动清除检查点
  • ✅ 详细日志
  • ✅ 结果:保证99.9%的正常运行时间

🧪 睾丸

# Executar testes automatizados E2E
python src/test_e2e_automated.py

# Verificar saúde do sistema
./scripts/healthcheck.sh

7 自动化测试:

  1. ✅ 已知连接
  2. ✅ Lead同步
  3. ✅ 事件注入
  4. ✅ Spark 处理
  5. ✅ Postgres 数据
  6. ✅ Elasticsearch中的数据
  7. ✅ 管道健康

📚 文档

文件 描述
README_SISTEMA_COMPLETO.md 完整系统指南 (800+ 线)
INSTALACAO_AUTOMATICA.md 安装与自动化指南
PLANO_DEPLOY_VPS.md 生产部署(VPS)
ANALISE_TECNICA_CORRECOES.md 技术分析和更正
ARQUIVOS_PARA_REVISAO.md 问题和解决方案。
更改日志.md 变化的历史。

🔌 MCP工具(模型上下文协议)

10个监控和控制工具:

from superset_mcp import *

# Status do pipeline
get_pipeline_status()

# Métricas do Spark
get_spark_metrics()

# Dashboard Supabase
get_supabase_dashboard()

# Injetar evento de teste
inject_event('teste', 100.0, 'usuario')

# Consultar Postgres
query_raw_events("SELECT * FROM eventos_raw LIMIT 10")

# Buscar no Elasticsearch
search_elasticsearch("categoria:vendas")

🏢 生产部署(VPS)

硬件推荐

配置 RAM vCPU 磁盘 每月成本
最低 12 GB 6 200 GB SSD $40-60
推荐的 ✅ 16GB 8 250 GB NVMe $80-120
高级 32 GB 12 500 GB NVMe 150-200美元

推荐供应商

  1. Vultr (最佳成本效益)

    • 16GB/8vCPU/320GB固态硬盘
    • $96/月
    • vultr.com
  2. 数字海洋 (最佳体验)

  3. 赫茨纳 (最便宜 - 欧洲)

    • 16GB/8vCPU/240GB固态硬盘
    • €29.90/月 (~$32/月)
    • hetzner.com

部署计划

按照完整的指南 PLANO_DEPLOY_VPS.md:

  • ✅ 6 实施阶段
  • ✅ 估计时间:8-10小时
  • ✅ SSL/TLS 已包含
  • ✅ 自动备份
  • ✅ 监测

🔧 故障排除

问题:容器无法启动

# Verificar status
docker ps -a

# Ver logs
docker compose logs --tail 50

# Reiniciar tudo
docker compose down
./scripts/startup.sh

问题:Spark 工作未运行

# Verificar
docker exec spark-master curl -s http://localhost:8080/json/

# Reiniciar job
docker exec spark-master pkill -f spark-submit
./scripts/startup.sh

问题:数据未显示

# Verificar Kafka
docker exec kafka kafka-console-consumer --topic eventos --bootstrap-server localhost:9092 --from-beginning --max-messages 5

# Verificar Postgres
docker exec postgres psql -U superset -d superset -c "SELECT COUNT(*) FROM eventos_raw;"

# Verificar Elasticsearch
curl "localhost:9200/eventos/_count?pretty"

快速诊断命令:

./scripts/healthcheck.sh

📊 堆栈技术

组件 技术 版本
流处理 Apache Spark 3.5.0
消息代理 Apache Kafka 2.8+
SQL数据库 PostgreSQL 14
搜索引擎 Elasticsearch 8.11
BI平台 Apache超级集 最新
可视化 基巴纳 8.11
后端 Supabase 最新
容器化 Docker 24+

🤝 贡献

欢迎捐款!

  1. 分叉工程
  2. 创建分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推动一个分支(git push origin feature/AmazingFeature)
  5. Abra um Pull请求

📝 许可证

这个项目是MIT许可的。查看文件 许可证 了解更多详情。


📞 支撑


🌟 明星历史

如果这个项目有帮助,请考虑⭐!


📈 路线图

v1.1.0(未来两周)

  • []CI/CD管道(GitHub操作)
  • []通过电子邮件自动警报
  • []Grafana仪表板

v1.2.0(下个月)

  • []高可用性设置
  • []自动缩放Spark工人
  • [ ] 用于外部控制的 REST API

v2.0.0(未来)

  • []Kubernetes部署
  • []机器学习管道
  • []高级数据治理

🙏 致谢

  • Apache Spark社区
  • Apache Kafka社区
  • Elasticsearch团队
  • PostgreSQL全球开发小组
  • Apache超级集贡献者
  • Supabase团队

由❤️ 使用Spark,Kafka等☕

⬆ 返回顶部