更新 README.md

This commit is contained in:
2025-06-16 10:46:13 +08:00
parent fda65be21f
commit 40be796df4

View File

@@ -1,3 +1,65 @@
# DataCollections # DataCollections
Kafka生产 flume采集 sqoop抽取数据到Hive spark处理 Kafka生产 flume采集 sqoop抽取数据到Hive spark处理
# 大三下学期期末项目
## 项目简介
- 项目主题10
云部署+ 域名 + 服务 。云部署的形式,可以在任何有互联网的地方访问,如 访问百度一样,在连接互联网的机房都可以访问。相比较项目1,云服务器上的环境,可能要重新配置环境,出现问题,可能要练习云客服等才能处理。云服务也意味着收费,所以请慎重选择。云部署形式会增加很多的部署工作,所以评分也会相应的比较高。如果域名申请,时间较长,麻烦的话,可以通过nginx,反向代理通过IP去访问不用域名
## 项目名称
Orders information statistical system( 订单信息统计系统)
## 项目要求
1. Kafka data production (kafka 数据生产)
这个模块主要用来模拟在实时的业务系统中,用户数据是实时生产的,并推送到kafka 相应的主题中。
1) 使用java 代码实现producer,并每隔5s推送以下数据给 kafka的 orders主题
需要推送的数据格式,请使用随机数 +数组 的形式进行随机产生,结果如下:
5个字段:分别是 订单类别,订单名字,订单数量,日期,顾客评分(很喜欢这个物品100,还行 50, 不喜欢 0 ),是否有效: Y是有效,N无效分隔符可以用 \t 进行拼接。
2) 使用 flume 定时采集 相应kafka的数据写入到hdfs 的 /home/flume
3) 使用 sqoop 定时将 Spark data processing 所有处理的所有需求数据 抽取到 中央仓库 hive,建立相应的数据库名字 orders。
2. Spark data processing
选这个模块主要使用 spark mysql ,hive 或者 kafka ,并进行需求处理,并将统计的结果写入相应的数据库表中
1)  使用 spark sql / spark streaming 创建消费者读取相应主题的数据
2)  使用 spark sql / spark streaming 实时统计 分别统计 所有有效和无效订单号的总和
3)  使用 spark sql / spark streaming 实时统计 各个订单号 各自的有效和无效数量
4)  使用 spark sql / spark streaming 实时统计 所有订单类别的数量
5)  使用 spark sql 统计 各个订单的有效数和无效数的数量
6)  使用 spark core/rdd 统计 各个订单的 各个类别的有效和无效数量
7) 协同过滤推荐
a. 建立 订单-类别的关系矩阵
b. 建立 类别-类别 的关系矩阵
c. 基于 Item-Base CF 生成每个物品的推荐列表
d. 基于 User-Base CF 生成每个顾客的推荐列表
提示:前端展示的工具或者 echarts 展示的项目直接读取 mysql ,不用和后端的spark+kafka在同一个项目。前端所有展示的数据指标最好在同一个项目中。
3. Data visualization
 展示学生信息
1)注册和登录页面 ,用户信息存储于mysql中
2) 用户登录后,首页使用echarts静态展示所所有有效和无效数量的各自的总和,以及各自类别的有效和无效数量
3) 个性化推荐:展示个性化推荐前6的类别名单。基于Item-Base 3个基于User-Base 3个。(基于协同过滤推荐的名单)
4)离线推荐:展示有效最多的前3的类别
5)通过搜索展示目标类别,以及相似类别top3 的推荐
### 项目结构
### 技术选型
数据生产
Java + Apache Kafka
数据采集
Apache Flume
数据抽取
Apache Sqoop
数据处理
Apache Spark (Spark SQL / Spark Streaming / Spark Core)
数据存储
MySQL + Hive + HDFS