项目简介
本项目借助 Flink 和 HBase 构建商品实时推荐系统,利用实时数据处理和推荐算法,为用户提供个性化商品推荐。系统通过 Flink 处理 Kafka 的日志数据,将处理结果存于 HBase,最终通过 Web 界面展示推荐结果。
项目的主要特性和功能
- 实时数据处理:利用 Flink 从 Kafka 消费日志数据并实时处理,借助 Flink 窗口机制计算实时热度,将数据缓存到 Redis。
- 推荐算法- 基于热度的推荐:按用户特征重排热度榜,结合算法计算产品相关度评分。
- 基于产品画像的推荐:计算产品画像与热度榜相似度,推荐关联性高的产品。
- 基于协同过滤的推荐:依据用户 - 产品浏览历史实现协同过滤推荐逻辑。
 
- 数据存储- 日志数据存于 HBase 的 con表。
- 用户 - 产品浏览历史存于 HBase 的 p_history表。
- 用户兴趣数据存于 HBase 的 u_interest表。
- 用户画像数据存于 HBase 的 user表。
- 产品画像数据存于 HBase 的 prod表。
 
- 日志数据存于 HBase 的 
- Web 界面- 前台用户界面展示推荐产品列表。
- 后台监控页面展示推荐系统实时数据,如热度榜、日志接入量等指标。
 
安装使用步骤
前提条件
- 已下载项目源码文件。
- 已安装并配置好 MySQL、Redis、HBase、Kafka 服务。
安装步骤
- 配置环境:确保依赖服务(MySQL、Redis、HBase、Kafka)正确安装并启动,依据项目配置文件(如 config.properties)配置各服务连接信息。
- 构建项目:在项目根目录执行 mvn clean install命令,构建项目并生成可执行 JAR 文件。
- 启动 Flink 任务:在 flink - 2 - hbase模块启动LogTask、ProductProtaritTask、TopProductTask等 Flink 任务,这些任务会从 Kafka 消费数据,处理后将结果存于 HBase。
- 启动 Web 服务:在 web模块执行mvn spring - boot:run启动 Spring Boot 服务,服务启动后可通过浏览器访问前台用户界面和后台监控页面。
- 测试推荐系统:在前台用户界面进行点击操作生成日志数据,系统会根据操作历史实时计算并推荐相关产品。
运行环境
本项目推荐使用 Docker 部署,具体部署步骤参考项目中的 Docker 相关文档。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】