1.假设hadoop中有一个商品访问日志,格式为:productid(商品编号),uid(访客编号),visittime(访问时间)。设计一个map/reduce程序,实现统计最近7天访问最频繁的前10000个访客 思路: (1)首先按访客编号分组,统计每个访客的访问次数; TextInputFormat 和KeyValueInputFormat 到底选哪一个?? 怎么分离出uid?? k2---uid(访客编号),v2---IntWritable类型的1 (2)最近7天; 肯定和visittime有关,但是不知道怎么处理?求大神分析下 (3)Top 10000 2.假设hadoop中存在用户访问日志,日志中字段定义为:[用户编号,用户访问时间,用户方位页面链接样例如下: id2 2015-11-02 23:00:00 url1 id1 2015-11-03 12:30:01 url2 id1 2015-11-01 14:12:43 url3 id3 2015-11-03 08:12:23 url4 id3 2015-11-01 11:33:28 url5 id2 2015-11-04 18:12:00 url6 id2 2015-11-01 10:12:12 url7 …... 设计一个map/reduce程序,对于每个用户,将其访问过的URL按时间顺序排列输出,结果如下: id1 url3, url2 id2 url7, url1, url6 id3 url5, url4 ….. 这个用SQL解的话,还有点思路,但是很难实现。用MR没有思路啊??求大神分析下
|