Java Spring XD流或批处理作业

Java Spring XD流或批处理作业,java,spring,jdbc,spring-xd,Java,Spring,Jdbc,Spring Xd,我正在评估SpringXD是否可以替代关系数据仓库中从Mongo到Netezza的夜间ETL批处理过程 我的流程每天需要执行以下一次或多次,我预计每天会有数百万条记录,因此我必须进行JDBC批处理: 通过简单查询从xyz中选择maxlastUpdateDtm获取数据仓库中的最新记录 使用该时间戳从该日期之后修改的Mongo获取所有记录 将mongo文档转换/分解为多个JDBC行“SqlParameterSource”对象,并每隔10k行左右提交一次 在Netezza中调用存储过程以更新一些跟踪/

我正在评估SpringXD是否可以替代关系数据仓库中从Mongo到Netezza的夜间ETL批处理过程

我的流程每天需要执行以下一次或多次,我预计每天会有数百万条记录,因此我必须进行JDBC批处理:

通过简单查询从xyz中选择maxlastUpdateDtm获取数据仓库中的最新记录 使用该时间戳从该日期之后修改的Mongo获取所有记录 将mongo文档转换/分解为多个JDBC行“SqlParameterSource”对象,并每隔10k行左右提交一次 在Netezza中调用存储过程以更新一些跟踪/历史记录表。 我看到两种方法,但都有缺点:

使用SpringXD流,即:trigger-cron 1***|mongo|jdbc jdbc接收器不是面向批处理的,我负担不起1000多万个单独的jdbc插入,所以我可能不得不编写自己的接收器。 不太清楚如何在不必双重定义jdbc参数的情况下优雅地执行初始时间戳查找查询。步骤4也一样。 使用带有初始时间戳查找tasklet的批处理作业,使用MongoReader和JdbcBatchWriter,然后组成一个类似触发器-cron 1***>queue:job:myBatchJob的流 这似乎不太可重用,而且可能需要更多的工作
有任何建议或建议吗?

由于批处理作业更适合面向块处理的用例等,因此您可能希望构建一个流,根据上一步的批处理作业通知在每个步骤触发批处理作业

要使用作业通知,您可以在此处参考: