-
第一部分:Hadoop介绍及安装
-
第二部分:HDFS
-
第三部分:MapReduce
分析资料
- 链接:https://pan.baidu.com/s/1sn9uRWi3Rhl4GL4g04Tv5w 提取码:zidg
6.1 项目开发流程
6.2 项目任务
6.2.1 合并小文件
说明:
- 由于在网络上挖掘下来的数据可能不止一个文件,而对每一个小文件进行MapReduce分析则需要分成等数量的块,很可能会对mapreduce造成很大的压力,所以在之前根据需求有必要进行一个简单的文件合并
代码:
FirstStep.java
6.2.2 完成网站KPI指标的统计
说明:
- KPI:关键业绩指标
- 我们可以通过KPI看出这个网站的经营状况
- 这里我们统计和
1、页面访问量统计
代码:
LogEntity.java
WebVisitsNumsJob.java / WebVisitsNumsMapper.java / WebVisitsNumsReduce.java
2、页面访问量统计数据写到MySQL数据库中
代码:
LogWritable.java
MRToMysqlMapper.java / MRToMysqlJob.java
3、页面独立IP的访问量统计
说明:
- 独立IP,即统计每个IP的访问量
代码:
LogEntity.java
AloneIPVisitsNumsMapper.java / AloneIPVisitsNumsCombiner.java
AloneIPVisitsNumsReduce.java / StringSameCount.java
AloneIPVisitsNumsJob.java
4、页面独立IP的访问量统计写到MySQL中
AloneIpWritable.java
MRToMysqlMapper.java / MRToMysqlJob.java
6.2.3 在网页上显示 网页访问量统计的top5
1、MVC框架说明
M:module,业务模型,用于提供数据
V:view,视图、用户界面,用于显示数据
C:controller,控制器、分发,用于分发请求
2、新建Web项目
之前已经使用分析出了结果,并将数据写入到了中,现在如果要将数据显示到网页上就得新建一个web项目:
-
新建一个web项目-
-
设置为3.0即可
-
一直,最后勾选然后即可。
3、项目结构
4、代码
1、实体类
2、工具类
3、Dao层
4、控制层
5、页面
6.2.4 在网页上显示 独立Ip访问量统计的Top10
说明:
- 前面实现了的显示,所以这里只需要在其基础上添上几笔
1、实体类
2、工具类
3、Dao层
4、控制层
5、页面
6.2.5 每天最高访问量
1、MapReduce统计
2、写出到MySQL中
3、显示到页面中
这里和前面一样,只需要添加一些类就可以了
1、实体类
2、dao层
3、控制层
4、页面
6.2.6 统计用户每小时的页面访问量(PV,page view)
说明:
- 统计24小时类各个小时 页面的访问量
1、MR统计每个小时的访问量
2、录入到MySQL中
- 建表
- 创建序列化类
- MR写出数据
3、显示到页面中
1、实体类
2、dao层
3、控制层
4、页面
6.2.7 统计用户的访问设备
说明:
- 统计用户访问页面使用的设备
1、MR统计各个访问记录使用的设备,并统计相同设备的数量
2、MR录入到MySQL中
3、显示到页面中
1、实体类
2、dao层
3、控制层
4、页面
使用技巧:
-
不要一次性将整个网页全部粘贴到项目中,最开始只需要将必要的等文件复制到项目中,然后将复制到项目中,从主页面开始整合,将需要的留下,不需要的删除。然后根据自己的需求逐步将其他的页面复制到自己的项目中使用。
-
修改页面时,不要盲目寻找,利用浏览器的,找到需要修改的位置的,再到页面中利用寻找位置。
-
如果需要使用的技术和模板使用的技术不一致,则可以将自己写的封装到一个文件中(让和页面分离:便于修改和维护),然后再页面末尾使用标签引用。例如前面使用
1、
2、(部分)