题目
- 使用HADOOP的MAPReduce,实现以下功能:
(1)基于大数据计算技术的条件查询:使用mapreduce框架,实现类似Hbase六个字段查询的功能
(2)时段流量统计:以hh:mm:ss格式输入起始时间和结束时间,统计这段时间之内的总搜索次数(就是记录数)、各个查询词搜索次数,各个网站(URL)的访问量。
注意:同一个网站的URL算在同一个网站上
如women.sohu.com/20070508/n249762812.shtml,
s.sohu.com/20080220/n255256097.shtml,
peng.blog.sohu.com等不同的sohu网页都统计为sohu网站的访问次数。
(3)用户使用频率统计:统计每个用户一天内的搜索次数
(4)访问行为统计:根据该页面在搜索结果中的排名(第4字段),统计不同排名的结果被访问的情况。如排名第一的结果被访问次数,排名第二的结果被访问次数
说到mapreduce,我们就必须先把wordcount弄懂之后,那么剩下的就是举一反三
观看视频
确保看懂视频中的词频统计,讲得真的非常好。
注意
由于大文件不能直接在idea上面跑,所以先在小文件上面操作,而且是直接对hdfs操作即可
分析
(1)中的判断条件多了一点,然后将reduce的输出结果改成NullWritable就可以
(2)难点:主要是:同一个网站的 URL 算在同一个网站上,采用的办法就是列出所有的域名(可以到网站爬取)后缀用 split 进行切割,然后去的切割结果的第一部分,接着再按“.”划分得到最后的一个切割结果,即为需要的部分。
例如
原本网址:entertainment.anhuinews.com/system/2004/12/01/001062418.shtml
split域名切割:entertainment.anhuinews. /system/2004/12/01/001062418.shtml
取第一部分:entertainment.anhuinews.
按.切割:entertainment anhuinews
取最后一部分anhuinews
统计
(3)就是一个简单的词频统计
(4)将排名+URL这两个字段拼接成一个字符串之后,就又是一个词频统计