我有一个要求,我正在阅读一个放在Unix大小为19 GB的文本文件,其记录大约为1.15亿。一旦文件放在该位置,我的Spring Batch(Launcher)就会被Autosys和Shell脚本触发。
最初在执行此过程时,需要大约72小时才能读取,处理(空检查和解析日期)并将数据写入Oracle数据库。
但是在使用Throttle Limit,Task Executor等某些配置更改后,我能够将执行时间减少到目前的28小时。 我需要这个过程在4小时内完成,同样,单独使用SQL loader我将在35分钟内完成工作。但我必须只使用spring Batch。
任何人都可以告诉我是否有可能在不到4个小时内使用弹簧批次完成它并且最好的方法是什么?
答案 0 :(得分:1)
在一个项目中,我工作过,我们不得不将50亿条记录从db2传输到oracle。具有相当复杂的转换逻辑。在转换过程中,数据在不同的文件中保存了大约4次。我们能够在oracle db中连续插入大约50'000条记录的数据。从这个角度来看,在4小时内完成它似乎是现实的。
你没有说明你的瓶颈究竟在哪里,但这里有一些想法。
HTH。