问题描述
在多台机器上有海量的IP数据,现在需要利用这些机器的IP数据找出数量排在Top K的IP地址。
解决方法
解决步骤如下:
(1) 利用哈希将各个机器的IP数据映射到各个机器,使得相同的IP在同一个机器中
(2) 在单机下再利用若干次哈希将IP映射到各个桶,稀释各个桶的不同IP数量
(3) 对每个桶,得到桶内所有IP地址的出现次数,将结果保留到一个文件
(4) 所有桶统计完后,在结果文件中找出出现次数Top K的IP地址,将这些IP地址和出现次数发送到中心机器
(5) 在中心机器中,汇总各台机器的Top K,统计出全局Top K