利用Hadoop的MapReduce做用户来源统计

得到的结果是:广东省 xxx;北京xxx…… 或 电信 xxxx ;联通 xxxx。

主要的工作步骤很简单:获取到用户的IP,解析到用户IP的地址,然后做地址的统计。

现在我们用Hadoop来简单实现),在实现过程中,对ip来源地址的解析我现在偷懒只是简单使用了web调用接口,而不使用程序client调用接口和解析纯真库。

定义Map方法(日志格式为:User_IP|date|URI……):

利用Hadoop的MapReduce做用户来源统计

主要流程为:获取到每行的第一个字段,使用whois对这个ip进行解析,然后,将来源地址和来源地址的数量做一个key-value。

Reduce:

利用Hadoop的MapReduce做用户来源统计

这个就更简单了;对每个key-value对做相加的操作。

主体程序:

利用Hadoop的MapReduce做用户来源统计

在这里感叹一句:以前写个分布式并行运行可麻烦一点,现在很多的一些调度框架使用起来做这方面的事情方便很多)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswff.html