海量数据处理问题
2018-03-02 16:27
253 查看
1.给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址?
将100G的log file分成1000份
相同的Ip必定会在同一个小文件里
在每个文件里找出出现次数最多的ip
将找出来的1000个最多ip进行比较,找出最多的一个
2.给定100亿个整数,设计算法找到只出现一次的整数
给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集
个文件有100亿个int,1G内存,设计算法找到出现次数不超过2次的所有整数
在位图中,每个元素为“0”或“1”,表示其对应的元素不存在或者存在。
找到出现次数不超过2次的所有整数,变形位图,让每个数用两位来标记:
00:0个 01:1个 10:2个 11:多个
使用位图以及位图的变形:http://blog.csdn.net/qq_35402412/article/details/79415172
3.给两个文件,分别有100亿个query,我们只有1G内存,如何找到两个文件交集?分别给出精确算法和近似算法
[b]精确算法
[/b]
假设1个query只有30bites,100亿个为300G,我们只有1G内存,并且有两个文件,将两个文件分别切分1000份;
相同的ip%1000,必定会放到相同小文件中,则相交的结果即 {A0&B0,A1&B1...A999&B999}
近似算法
4000
使用布隆过滤器,将A切分后存入布隆过滤器,用B来依次进行对比,若找到,则这个query为交集
如何扩展BloomFilter使得它支持删除元素的操作
对每一位引用计数,删除后只要改它的计数
如何扩展BloomFilter使得它支持计数操作
引入计数,则不能使用位图,将BitMap _bm改为size_t *_bm;
typedef struct{
//BitMap _bm;
size_t *_bm;
HASH_FUNC hashfunc1;
HASH_FUNC hashfunc2;
HASH_FUNC hashfunc3;
}BloomFilter;
搜索引擎的方法,将文件中的词存入哈希表,在找到的文件链到相应名词上
将100G的log file分成1000份
相同的Ip必定会在同一个小文件里
在每个文件里找出出现次数最多的ip
将找出来的1000个最多ip进行比较,找出最多的一个
2.给定100亿个整数,设计算法找到只出现一次的整数
给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集
个文件有100亿个int,1G内存,设计算法找到出现次数不超过2次的所有整数
在位图中,每个元素为“0”或“1”,表示其对应的元素不存在或者存在。
找到出现次数不超过2次的所有整数,变形位图,让每个数用两位来标记:
00:0个 01:1个 10:2个 11:多个
使用位图以及位图的变形:http://blog.csdn.net/qq_35402412/article/details/79415172
3.给两个文件,分别有100亿个query,我们只有1G内存,如何找到两个文件交集?分别给出精确算法和近似算法
[b]精确算法
[/b]
假设1个query只有30bites,100亿个为300G,我们只有1G内存,并且有两个文件,将两个文件分别切分1000份;
相同的ip%1000,必定会放到相同小文件中,则相交的结果即 {A0&B0,A1&B1...A999&B999}
近似算法
4000
使用布隆过滤器,将A切分后存入布隆过滤器,用B来依次进行对比,若找到,则这个query为交集
如何扩展BloomFilter使得它支持删除元素的操作
对每一位引用计数,删除后只要改它的计数
如何扩展BloomFilter使得它支持计数操作
引入计数,则不能使用位图,将BitMap _bm改为size_t *_bm;
typedef struct{
//BitMap _bm;
size_t *_bm;
HASH_FUNC hashfunc1;
HASH_FUNC hashfunc2;
HASH_FUNC hashfunc3;
}BloomFilter;
倒排索引
给上千个文件,每个文件大小为1K—100M。给n个设计算法对每个词找到所有包含它的文件,你只有100K内存搜索引擎的方法,将文件中的词存入哈希表,在找到的文件链到相应名词上
相关文章推荐
- 海量数据处理问题
- 面试-----关于海量数据问题的处理详解
- 第二部分、处理海量数据问题之六把密匙
- 【转】海量数据处理问题
- 海量数据处理算法(top K问题)
- 海量数据处理的一些问题(转自论坛)
- 面试题-海量数据处理问题
- 海量数据处理之排序问题
- 关于海量数据处理问题
- 海量数据处理的问题(1)
- set 和hash_set和海量数据的处理问题
- 海量数据处理的 Top K算法(问题) 小顶堆实现
- 海量数据处理的 Top K算法(问题) hashtable+小顶堆实现
- 海量数据处理问题与方法汇总
- 海量数据问题处理
- 海量数据处理: Top K算法(问题) 小顶堆实现
- 海量数据问题处理
- 海量数据问题处理方案
- 海量数据处理问题
- Top k - 海量数据处理问题