海量数据处理算是我目前接触到的十分实用的问题,现在的软件后台等都会处理大量的数据,虽然我现在接触的都是十分简单十分基础的题目,但是这给了以后的问题处理提供了很好的一个思路。前几天用堆进行了海量数据的TopK问题今天给大家介绍一些其他的问题。
最近,了解了哈希了哈希的一些扩展,哈希学到的是一种思路,所以将这种思路进行改进进行就有了位图,还有布隆过滤器等等。
1. 给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址?
海量数据处理的时候,和少量的时候比,已经不能将你的所有数据都在内存中进行计算了, 所以当你看到这个题已经不是说,之前所做的效率问题,因为之前有很多数据处理的时候会考虑处理方法,因为比如我们用暴力不断的循环来寻找,是效率十分低的问题,但是现在即使你不考虑效率是不是低,你都是不能进行运算的,因为你根本不能同时读取这么多数据,所以现在应该怎么办?有人想到了等分,将你的文件通过切割成小份来进行运算,然后将你的小份数据进行运算,但是你想,假如你的100G,你分成了100分,第一份中最多的是A第二多的是Z,第二份中最多的是B第二多的是Z,依次到最后,你的Z每次都是第二多的,但是最终你加起来最多的应该是Z,你这时候怎么办呢?所以这个思