Spring 批处理 - 验证数据的最佳方式 load/batch 插入?

Spring Batch - best way to validate data load/batch insert?

我有一个 Spring 批处理应用程序,它读取平面文件 CSV 并转换一些数据,然后将其写入数据库。我们说的是数十万条或数百万条记录。

我想在第二天验证 CSV 中的行数与插入数据库的记录数相匹配。我想让这个过程自动化。目前,数据加载是由一些脚本完成的,这些脚本将这些 CSV 文件推送到我的 Spring 批处理应用程序正在侦听的 AWS S3 存储桶。

什么是触发此“自动验证”的最佳方式,以便在数据加载后,另一项服务可以检查所有批处理作业是否以正确的方式完成 exit_status != FAILURE 以及记录数最初在 CSV 中匹配数据库记录?

我想要某种“触发器”,使整个过程自动化。是在我的同一个 Spring 批处理应用程序中创建 REST 控制器的最佳方法,并且在批处理加载完成后,使用 POST 请求来命中我自己的 API 该查询 Spring 批处理元数据 SQL 表(batch_job_instance、batch_step_execution 等)并获取 read/write 计数等的总数。???

想在这里输入一些信息!

您可以使用 JobExplorer 获取与您的文件处理相对应的作业 instance/execution。从那里,您可以获得与加载文件的步骤相对应的 StepExecution。然后 StepExecution 允许您访问所有计数器,例如 read.countwrite.count 等,这些计数器允许您实施验证逻辑。