项目简介
本项目借助 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】