我的任务是比较两个大的 csv 文件并将比较结果写到一个新文件中。文件 1 有 200k 行,文件 2 也可能有 200K 或更少。两者都有 200 列。文件没有排序,可以按任何顺序排列。我正在使用 Java 8 和 Spring 版本 4。
问题
我在我的项目中使用 Spring Batch,有什么方法可以使用 Spring Batch 自定义的 ItemReader 和 ItemWriter 来实现这一点,还是应该使用 tasklet,然后使用纯 Java 代码来比较文件?我也想以最快的方式做到这一点。数据量真的很大,可能是 2-4 Gigs,所以我不想将它加载到内存中。文件结构如下所示。
File1 :
regn_nbr,name,address1,countrycode,regn_date
2345,John,4332 JFK Boulevard,US,02-12-2011
2347,mark,4332 Maryland Avenue,US,04-27-2015
2348,Smith,4332 JFK road,US ,07-30-2011
2302,Andy,4332 JFK Lane,US,06-01-2010
File2 :
regn_nbr,name,address1,countrycode,regn_date
2345,John,4332 JFK Boulevard,US,02-12-2011
2302,Andy,4332 JFK lane,US,06-01-2010
2911,Peter,12烛光驱动器,MX ,01-01-2010
2348,Smith,4332 JFK road,US,07-30-2011
2347,mark,4332 Maryland Avenue,US,04-27-2015
欢迎您提出建议、不同的方法、策略和专业知识。