![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
海量数据
zhou554291911
这个作者很懒,什么都没留下…
展开
-
海量数据处理——top K
有1亿个浮点数,如何找出其中最大的10000个局部淘汰法 用一个容器保存前 10000个数,然后将剩余的所有数字一一与容器内的最小数字相比,如果所有后续的元素都比容器内的 1000个数还小,那么容器内的这 10000个数就是最大的 10000个数。如果某一后续元素比容器内的最小数字大,则删掉容器内最小元素,并将该元素插入容器,最后遍历完这1亿个数,得到的结果容器中保存的数即为最终结果了。 容器可原创 2016-07-28 17:01:51 · 209 阅读 · 0 评论 -
海量数据处理——重复问题
海量日志数据,提取出某日访问次数最多的那个IP分而治之/hash映射:针对数据太大,内存受限,只能是:把大文件化成(取模映射)小文件,即16字方针:大而化小,各个击破,缩小规模,逐个解决hash统计:当大文件转化了小文件,那么我们便可以采用常规的Hashmap(ip,value)来进行频率统计。堆/快速排序:统计完了之后,便进行排序(可采取堆排序),得到次数最多的IP。怎么在海量数据中找出重原创 2016-07-29 15:13:23 · 322 阅读 · 0 评论 -
海量数据处理——位图
已知某个文件内包含一些电话号码,每个号码为8位数字,统计不同号码的个数。8位整数可以表示的最大十进制数值为99999999。如果每个数字对应于位图中一个bit位,那么存储8位整数大约需要99MB。因为1B=8bit,所以99Mbit折合成内存为99/8=12.375MB的内存,即可以只用12.375MB的内存表示所有的8位数电话号码的内容。类似的问题10亿个正整数,只有1个数重复出现过,要求在O(n原创 2016-07-29 15:17:33 · 211 阅读 · 0 评论