得到的结果是:广东省 xxx;北京xxx…… 或 电信 xxxx ;联通 xxxx。
主要的工作步骤很简单:获取到用户的IP,解析到用户IP的地址,然后做地址的统计。
现在我们用Hadoop来简单实现),在实现过程中,对ip来源地址的解析我现在偷懒只是简单使用了web调用接口,而不使用程序client调用接口和解析纯真库。
定义Map方法(日志格式为:User_IP|date|URI……):
主要流程为:获取到每行的第一个字段,使用whois对这个ip进行解析,然后,将来源地址和来源地址的数量做一个key-value。
Reduce:
这个就更简单了;对每个key-value对做相加的操作。
主体程序:
在这里感叹一句:以前写个分布式并行运行可麻烦一点,现在很多的一些调度框架使用起来做这方面的事情方便很多)