项目简介
本项目是基于Hadoop和Spark框架的电商推荐系统,借助大数据技术与机器学习算法,为用户提供个性化商品推荐服务。系统融合离线推荐与实时推荐技术,运用协同过滤和基于内容的推荐方法,实现精准的商品推荐。
项目的主要特性和功能
1. 离线推荐系统
- 数据初始化:借助Spark SQL将初始化数据加载到MongoDB。
- 离线统计服务:运用Spark Core和Spark SQL开展批处理统计,生成商品评分统计数据。
- 离线推荐服务:利用Spark MLlib的ALS算法生成用户推荐矩阵和商品相似度矩阵。
2. 实时推荐系统
- 日志采集服务:通过Flume - ng实时采集用户评分行为数据并发送到Kafka集群。
- 消息缓冲服务:以Kafka作为流式数据缓存组件,接收Flume数据并推送给实时推荐系统。
- 实时推荐服务:采用Spark Streaming处理Kafka中的数据,通过实时推荐算法更新推荐结果。
3. 综合业务服务
- 用户可视化:使用AngularJS2实现用户交互和业务数据展示。
- 业务逻辑:通过Spring框架构建JavaEE层面的业务逻辑,部署在Tomcat上。
4. 数据存储
- 业务数据库:使用MongoDB存储业务逻辑数据。
- 缓存数据库:使用Redis满足实时推荐系统对数据的高速获取需求。
安装使用步骤
1. 环境准备
安装Java、Python、Spark、Hadoop等必要开发环境,配置Flume、Kafka、MongoDB、Redis等组件。
2. 数据初始化
通过提供的SQL脚本初始化MongoDB数据库,配置Spark SQL连接Hadoop数据源,将初始化数据加载到MongoDB。
3. 启动服务
启动Flume服务并配置以采集日志数据,启动Kafka集群接收Flume推送的数据,启动Spark Streaming程序进行实时数据处理和推荐。
4. 前端配置与部署
配置AngularJS2前端应用,对接后端服务API,将应用部署到Web服务器(如Tomcat)。
5. 测试与监控
通过提供的测试视频进行项目测试,配置监控工具(如ELK)进行日志分析和监控。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】