组合排序和合并多个输入文件(42列的固定空格分隔的txt文件),总共超过200万条记录(行)



我正在处理以多个输入文件(用45列分隔的固定空间)形式存在的200万条记录,我必须对它们进行排序,然后将它们合并在一起,以前我处理数组列表,生成存储在这些数组列表中的bean,进行排序和合并,当记录较少时效果良好,但当我组合所有输入文件时,它引发了堆空间内存异常。现在我开始使用数据库MS Access来对此进行计数,并使用JDBC ODBC连接读取并将所有输入文件放入访问表中,现在仅此一项就需要5个小时才能读取文件并将其存储在数据库中我必须合并和排序这些文件以及

请给我指正确的方向组合排序和合并具有200多万条记录的多个输入文件,并根据规范

生成输出文件

对于初学者来说,您可以研究一个更健壮的数据库。MySQL(或其分支,MariaDB)应该更适合处理您要处理的数据量。

读取文件也可以异步完成,这将进一步加快进程。

另外需要注意的是,根据您所追求的合并类型,您还可以研究External Sorting算法,这些算法是明确设计的,用于对并非全部适合内存的数据进行排序。

最新更新