本项目是为大数据专业期末大作业设计的综合性项目。融合了企业级 Flink、Spark、数据仓库以及大模型微调等先进要求,模拟了工业界真实场景下的电商实时行为分析与智能导购系统。
按照考核标准,本项目包含以下五大核心模块:
通过 Docker Compose 完成了大数据集群容器化部署配置。
- 配置路径:
docker/ - 组件清单: Hadoop(HDFS/YARN), Hive, Spark, Flink, Kafka, Zookeeper, ClickHouse, Redis, MySQL, Milvus
- 部署方式: 修改所有带有
<YOUR_xxx>占位符的配置文件后,执行docker-compose up -d - 初始化: 执行
scripts/init-kafka-topics.sh初始化消息队列。
严格遵循数仓规范的分层设计 (ODS -> DWD -> DWS -> ADS)。
- DDL路径:
data-warehouse/ddl/ - Spark ETL代码:
data-warehouse/spark-etl/ - 技术栈: Hive, Spark SQL (Scala)
- 亮点: 星型模型、维度退化、Spark 数据清洗与数据倾斜优化(加盐策略)、多端写入(Hive + MySQL)。
基于 Flink 构建的 Exactly-Once 实时处理链路。
- 数据采集:
flume-maxwell/(Flume 采集日志, Maxwell 采集 Binlog) - Flink代码:
realtime/(Scala) - 核心逻辑:
- Watermark 解决乱序数据
- 滚动/滑动窗口计算实时 GMV、每秒订单量、热门商品 TopN
- 侧输出流进行实时分流
- RocksDB StateBackend 与 Exactly-Once Checkpoint
- 数据双写 ClickHouse (OLAP) 和 Redis (缓存)
采用 Vue 3 + ECharts 开发的交互式可视化大屏。
- 路径:
visualization/ - 特色:
- 高级深色科技感主题 (玻璃拟态效果、发光文字)
- 实时 WebSocket/轮询 接入展现 GMV 动态数字
- 多维图表:订单趋势(折线面积图)、热门Top10(渐变条形图)、用户画像(南丁格尔玫瑰图)
在传统大数据架构之上叠加 AI 能力。
- 路径:
ai-model/ - 微调 (LoRA):
finetune/- 利用电商对话数据基于 PEFT/TRL 框架微调开源大模型 (例如 ChatGLM / LLaMA)。 - RAG 增强检索:
rag/- 商品数据向量化存入 Milvus,实现智能导购推荐。 - AI Agent (智能体):
agent/- 基于 ReAct 范式构建的 Data Analyst Agent,能将自然语言转换为 SQL 查询 ClickHouse,并调用工具生成图表配置,实现“从人找数到数找人”。
为了方便不同环境下的工程落地,本项目代码中没有写死任何环境敏感信息。
在正式部署运行前,必须全局搜索 <YOUR_ 并将其替换为真实的配置值:
- 数据库密码、主机 IP、端口
- 模型加载路径、API 密钥
- 集群资源配置 (内存、CPU核数等)
各模块均已提供完整的工程结构和 Maven/依赖配置文件,可独立编译打包运行。