设计一个 Spring 批处理应用程序以从不同资源(平面文件)读取数据
Design a Spring batch application to read data from different resources(Flat files)
我正在使用(Spring 引导、java 和 Spring 批处理)开发批处理应用程序,我需要从不同位置读取数据。以下是我的用例:
- 多个路径,例如 C://Temp//M1, C://Temp//M2 ,两个位置可以包含具有相同数据的相同文件,例如 C://Temp//M1//File1.txt、C://Temp//M2//File1.txt、C://Temp//M1//File2.txt、C://Temp//M2//File2.txt
- 首先,如果在删除重复项后开始批处理之前两个位置都存在相同的文件,我需要将它们合并到内存中,并将合并的内存中数据作为参数传递给 reader。
我使用 multiresourceitemreader 设计了批处理,它读取平面文件并处理它们,但无法实现内存中合并和从多个文件中删除重复项。
那么,能否请您看一下,并向我建议一种实现此目标的方法?
如果您了解 Kafka,请尝试使用 Kafka 连接框架。使用 Confluent 平台轻松使用他们的连接器。
然后从 Kafka 消费到您的 Spring 应用程序。
如果你对Kafka感兴趣我会详细给你讲解
根据我的经验,我发现在处理平面文件时使用 BeanIO 库是无价的。它还与 spring 批处理集成。
http://beanio.org/
关于从 2 个位置阅读,您可以:
- 将您的 reader 实现为从文件 1 中读取第一行然后从文件 2 中读取第一行的组合
- 您首先通读 reader 文件 1,然后在处理器中使用文件 2 中的数据进行充实。
- 预合并文件
我正在使用(Spring 引导、java 和 Spring 批处理)开发批处理应用程序,我需要从不同位置读取数据。以下是我的用例:
- 多个路径,例如 C://Temp//M1, C://Temp//M2 ,两个位置可以包含具有相同数据的相同文件,例如 C://Temp//M1//File1.txt、C://Temp//M2//File1.txt、C://Temp//M1//File2.txt、C://Temp//M2//File2.txt
- 首先,如果在删除重复项后开始批处理之前两个位置都存在相同的文件,我需要将它们合并到内存中,并将合并的内存中数据作为参数传递给 reader。
我使用 multiresourceitemreader 设计了批处理,它读取平面文件并处理它们,但无法实现内存中合并和从多个文件中删除重复项。 那么,能否请您看一下,并向我建议一种实现此目标的方法?
如果您了解 Kafka,请尝试使用 Kafka 连接框架。使用 Confluent 平台轻松使用他们的连接器。
然后从 Kafka 消费到您的 Spring 应用程序。
如果你对Kafka感兴趣我会详细给你讲解
根据我的经验,我发现在处理平面文件时使用 BeanIO 库是无价的。它还与 spring 批处理集成。 http://beanio.org/
关于从 2 个位置阅读,您可以:
- 将您的 reader 实现为从文件 1 中读取第一行然后从文件 2 中读取第一行的组合
- 您首先通读 reader 文件 1,然后在处理器中使用文件 2 中的数据进行充实。
- 预合并文件