10G的文件,2G内存,统计出现频率最高的数字

记录一个问题: 有一个10G大小的文件,文件内为一行一个的整数,给定可使用内存为2G.要求统计出现次数最多的数字。

1、流式数据处理(这块后面单独写吧,埋坑....)

2、分文件处理

      读入部分文件,对数值模10.取值相同放入一个文件。然后处理10个文件。统计出现次数最多的。

      我认为上面这种方案可以解决一种情况。就是文件数值不重复。或者重复较少的情况

假设一种极端情况。文件内容全部取模值全部相同。或者超过2G就不在适用上面的方法了。而更适合将相同的数字放入同一个文件。

     情况不同解决方案也不尽相同。没有银弹

猜你喜欢

转载自blog.csdn.net/weixin_40596063/article/details/82895458