阅读海量数据帖子笔记
今天阅读帖子
教你如何迅速秒杀掉:99%的海量数据处理面试题
http://blog.csdn.net/v_july_v/article/details/7382693
看看别人总结的海量数据的题目。
文中描述的不太详尽,或是本人在很多方面都不了解,于细节部分又在网上搜索,找到了一些简单详细的细节部分,为阅读时参考。
1.hash_map http://wenku.baidu.com/view/a3e360ed0975f46527d3e172.html
2.hash_set http://www.cnblogs.com/anderslly/archive/2011/06/13/hashset-part1.html
1.分而治之/hash映射 + hash统计 + 堆/快速/归并排序;
文件太大,hash 取mod 划分 使得有序
与重复有关 就做统计
之后 归并 多个文件
2.双层桶划分
类似每个项目为整数,划分整数 映射到多个文件
3.Bloom filter/Bitmap;
Bloom filter k个hash 判断重 并允许错误率E;
位数组 大小为m 数据量 n;
m => log(1/E) n; k = ln2(m/n) 错误率低
Bitmap 按位直接映射,判断重。
位图若太大,就先hash划分文件
4.Trie树/数据库/倒排索引;
前缀树,用于字符串的统计 较有效。
5.外排序;
内存不足以hash,只能做外排。
6.分布式处理之Hadoop/Mapreduce。
先map 再reduce 这个不太懂,得看看搜索引擎的书
具体一些实现时,同hashtab较多。