内存1G的电脑,分析5G的文本,处理方法

-- 问题:5G的文本TXT文件,按行存放URL,设计去重

        -- 条件:1G内存的机器

-- 布隆过滤器,做过爬虫的程序员,会立马想到;

这里如果按常规方式,该如何入手呢

先说思想解决,不说实际代码实现;

1. 内存1G,所以大文件首先要分割;如分割为20个文件,那么每个可以做到接近250M左右

2. 拿前面的3个文件做案例:

A B C  3个文件,每个250M;首先做到加载没有问题

1.A 文件读取到SetA中,此时集合中A的URL不重复

2.B文件读取到SetB中;

3.SetA 和SetB比较,将集合A和B中相同项都剔除;

4.清空SetB;

5.加载C文件;SetA 和SetC比较,将集合A和C中相同项都剔除;

6.前三个文件A比较完成,生成和B,C文件完全不重复的A1文件

依次类推:

总拿前面的一个文件内容和后面文件对比,对比一轮完成的那个文件;

就绝对是完全不重复的内容了


--------------------- 
作者:袁义锐 
来源:CSDN 
原文:https://blog.csdn.net/u010235716/article/details/78142649 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/hzp666/article/details/85991380
今日推荐