随笔分类 -  10.海量数据处理

摘要:Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。 典型应用是用于统计和排序大量的字符串(但不仅限于字符串), 所以经常被搜索引擎系统用于文本词频统计。 字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟 Java 的 HashMap 功能相同,都是 key-va 阅读全文
posted @ 2016-05-24 23:01 moonandstar08 阅读(2827) 评论(0) 推荐(0) 编辑
摘要:一、Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点:对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存在,很明显这个过程并不保证查找的结果是100%正确的。同 阅读全文
posted @ 2016-05-19 21:52 moonandstar08 阅读(344) 评论(0) 推荐(0) 编辑
摘要:十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频 阅读全文
posted @ 2016-05-19 21:17 moonandstar08 阅读(385) 评论(0) 推荐(0) 编辑
摘要:一、布隆过滤器介绍 Bloom Filter是一种空间效率很高的随机数据结构,Bloom Filter可以看做是对bit-map的扩展,它的原理如下: 当一个元素被加入集合时,通过K个Hash函数将这个元素映射成一个位阵列(Bit Array)中的K个点,把它们置为1,检索时我们只要看看这些点是不是 阅读全文
posted @ 2016-03-24 22:55 moonandstar08 阅读(968) 评论(0) 推荐(0) 编辑
摘要:有这样一种场景:一台普通PC,2G内存,要求处理一个包含40亿个不重复并且没有排过序的无符号的int整数,给出一个整数,问如果快速地判断这个整数是否在文件40亿个数据当中? 问题思考: 40亿个int占(40亿*4)/1024/1024/1024 大概为14.9G左右,很明显内存只有2G,放不下,因 阅读全文
posted @ 2016-03-02 21:11 moonandstar08 阅读(3426) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示