文件:
我正在使用搜索日志文件的精炼 csv 版本,其中包含 3.3mio 行数据,每行类似于单个查询并包含有关该查询的各种数据。文件中的条目按会话/用户 ID 升序排序。
目标:
耦合提交相同查询词但属于相同用户标识的条目
方法:
我正在逐行读取 csv 文件,将数据保存在自制的“条目”对象中,并将这些对象添加到数组列表中。完成后,我将使用自定义比较器按两个标准对列表进行排序
问题:
在读取行并将条目对象添加到列表时(这需要很长时间),程序以 OutOfMemoryException "Java heap" 终止
所以看来我的方法在内存(和运行时)上太难了。
有更好方法的想法吗?