【发布时间】:2015-09-22 13:01:23
【问题描述】:
我有一个要求,我正在读取一个大小为 19 GB 的 Unix 中的文本文件,并且有大约 1.15 亿条记录。一旦文件被放置在该位置,我的 Spring Batch(启动器)就会被 Autosys 和 Shell 脚本触发。
最初执行此过程需要大约 72 小时来读取、处理(Null 检查和日期解析)并将数据写入 Oracle 数据库。
但是在使用 Throttle Limit、Task Executor 等进行某些配置更改后,我目前能够将执行时间减少到 28 小时。 我需要这个过程在 4 小时内完成,另外,单独使用 SQL 加载器我将在 35 分钟内完成工作。但我只能使用 spring Batch。
谁能告诉我是否有可能使用 Spring Batch 在 4 小时内完成它,以及实现这一目标的最佳方法是什么?
【问题讨论】:
-
这是一个非常广泛的问题,您是否有一些特定的瓶颈想要提高性能,并且您是否进行了一些分析等以找到瓶颈,如果本机 SQL 加载需要 35 分钟,那么问题也就是说,除了读取和插入/更新之外,批处理还有什么必要的空检查? ...更多细节请:-)
标签: spring-batch