【大数据问题总结】

56 阅读1分钟

寻找频率最高的ip地址

问题:有一个数量很多的ip库,需要我们找到里面出现频率最高的ip地址,该怎么做?

分治法

先做hash,然后求模映射为小文件,求出每个小文件中重复次数最多的一个,并记录重复次数。
然后找出上一步求出的数据中重复次数最多的一个就是所求。

按照IP地址的hash(IP)%1024值,将海量日志存储到1024个小文件中,每个小文件最多包含4M个IP地址。

对于每个小文件,可以构建一个IP作为key,出现次数作为value的hash_map,并记录当前出现次数最多的1个IP地址。 有了1024个小文件中的出现次数最多的IP,我们就可以轻松得到总体上出现次数最多的IP。

其他问题

海量数据处理面试题集锦-CSDN博客