DataCollections/README.md
2025-06-16 10:46:13 +08:00

65 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DataCollections
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