电商项目实战-项目需求及技术架构(二)
1、项目需求
(1)统计页面的浏览量PV---使用mapreduce统计
(2)统计各个省份的浏览量---省、市---ip统计
(3)统计页面的访问量---各个页面的访问量---url---各页面的ID
2、数据离线处理流程
(1)LogServer:很多的服务器(集群外)
前端客户在访问的时候,会请求日志并在LogServer记录下来
(2)HDFS:(集群内)
日志采集后,会落在HDFS上。
在HDFS上,假设按需求,按天以及按小时分区(目录结构),存储路径是/project/input/raw/trackinfo.data
(3)MapReduce(集群内)
通过MapReduce读取并处理HDFS上的日志数据,处理结束后,将处理结果还存储在HDFS上并导出至数据库。
(4)DB(集群内)
MapReduce处理的结果,通过Sqoop,从HDFS导出至数据库(关系型/非关系型)
(5)UI(集群内)
通过前端UI层展现出来(报表等)
3、实现方式
整个项目分成2大部分来实现
(1)MapReduce实现:是通过java实现的。
(2)Hive实现:数据还是存储在HDFS上的,但是通过sql实现的。