littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于 Flink 和 HBase 的商品实时推荐系统

项目简介

本项目借助 Flink 和 HBase 构建商品实时推荐系统,利用实时数据处理和推荐算法,为用户提供个性化商品推荐。系统通过 Flink 处理 Kafka 的日志数据,将处理结果存于 HBase,最终通过 Web 界面展示推荐结果。

项目的主要特性和功能

  1. 实时数据处理:利用 Flink 从 Kafka 消费日志数据并实时处理,借助 Flink 窗口机制计算实时热度,将数据缓存到 Redis。
  2. 推荐算法
    • 基于热度的推荐:按用户特征重排热度榜,结合算法计算产品相关度评分。
    • 基于产品画像的推荐:计算产品画像与热度榜相似度,推荐关联性高的产品。
    • 基于协同过滤的推荐:依据用户 - 产品浏览历史实现协同过滤推荐逻辑。
  3. 数据存储
    • 日志数据存于 HBase 的 con 表。
    • 用户 - 产品浏览历史存于 HBase 的 p_history 表。
    • 用户兴趣数据存于 HBase 的 u_interest 表。
    • 用户画像数据存于 HBase 的 user 表。
    • 产品画像数据存于 HBase 的 prod 表。
  4. Web 界面
    • 前台用户界面展示推荐产品列表。
    • 后台监控页面展示推荐系统实时数据,如热度榜、日志接入量等指标。

安装使用步骤

前提条件

  • 已下载项目源码文件。
  • 已安装并配置好 MySQL、Redis、HBase、Kafka 服务。

安装步骤

  1. 配置环境:确保依赖服务(MySQL、Redis、HBase、Kafka)正确安装并启动,依据项目配置文件(如 config.properties)配置各服务连接信息。
  2. 构建项目:在项目根目录执行 mvn clean install 命令,构建项目并生成可执行 JAR 文件。
  3. 启动 Flink 任务:在 flink - 2 - hbase 模块启动 LogTaskProductProtaritTaskTopProductTask 等 Flink 任务,这些任务会从 Kafka 消费数据,处理后将结果存于 HBase。
  4. 启动 Web 服务:在 web 模块执行 mvn spring - boot:run 启动 Spring Boot 服务,服务启动后可通过浏览器访问前台用户界面和后台监控页面。
  5. 测试推荐系统:在前台用户界面进行点击操作生成日志数据,系统会根据操作历史实时计算并推荐相关产品。

运行环境

本项目推荐使用 Docker 部署,具体部署步骤参考项目中的 Docker 相关文档。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】