第一部分 题目要求

数据信息部分

数据来源 sohu用户搜索日志数据(一天)链接
系统要求 基于Hadoop,HBASE和SPARK实现,语言使用JAVA SCALA或PYTHON皆可
数据格式 访问时间 用户ID [查询词] 该URL在返回结果中的排名 用户点击的顺序号 用户点击的URL

数据清洗部分

实现一个程序,载入文本中的日志数据,每行作为一条记录(六个字段),存入HBASE。

数据搜索部分

  1. 使用HBASE的API实现条件查询功能,具体内容如下:

(1)根据开始时间和结束时间搜索这段时间内的访问记录。输入信息为开始时间和结束时间,用‘|’字符隔开)

(2)根据用户ID搜索该用户的访问记录。输入信息为一个或多个用户ID,用‘|’字符隔开(并)

(3)根据关键字搜索含有该关键字的用户查询词记录。输入信息为一个或多个关键字,用‘|’字符隔开 (交)

(4)根据关键字(如baidu)等搜索相关网站的URL访问记录,输入信息为一个或多个关键字,用‘|’字符隔开(交)

(5)实现以上四个条件任意组合的联合搜索。四个条件之间用’+’字符隔开 (联合搜索要求所有条件同时满足)

要求有条件输入界面,用命令行或UI界面均可。

  1. 使用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字段),统计不同排名的结果被访问的情况。如排名第一的结果被访问次数,排名第二的结果被访问次数

原文地址:https://www.cnblogs.com/10134dz/p/13233702.html