设计一个 Spring 批处理应用程序以从不同资源(平面文件)读取数据

Design a Spring batch application to read data from different resources(Flat files)

我正在使用(Spring 引导、java 和 Spring 批处理)开发批处理应用程序,我需要从不同位置读取数据。以下是我的用例:

我使用 multiresourceitemreader 设计了批处理,它读取平面文件并处理它们,但无法实现内存中合并和从多个文件中删除重复项。 那么,能否请您看一下,并向我建议一种实现此目标的方法?

如果您了解 Kafka,请尝试使用 Kafka 连接框架。使用 Confluent 平台轻松使用他们的连接器。

然后从 Kafka 消费到您的 Spring 应用程序。

https://www.confluent.io/hub

如果你对Kafka感兴趣我会详细给你讲解

根据我的经验,我发现在处理平面文件时使用 BeanIO 库是无价的。它还与 spring 批处理集成。 http://beanio.org/

关于从 2 个位置阅读,您可以:

  1. 将您的 reader 实现为从文件 1 中读取第一行然后从文件 2 中读取第一行的组合
  2. 您首先通读 reader 文件 1,然后在处理器中使用文件 2 中的数据进行充实。
  3. 预合并文件