4G内存的电脑,如何读取8G的日志文件进行分析,汇总数据成报表的面试题
4G内存的电脑,如何读取8G的日志文件进行分析,汇总数据成报表。
先说思想解决,不说实际代码实现;
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文件
依次类推:
总拿前面的一个文件内容和后面文件对比,对比一轮完成的那个文件;
就绝对是完全不重复的内容了