当前位置: 首页 > 知识库问答 >
问题:

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

赵智勇
2023-03-14

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

  • 多个路径,如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

设计了使用multiresourceitemader的批处理,它读取平面文件并处理它们,但无法实现内存中的合并和从多个文件中删除重复。所以请您看一下并建议我如何实现这一点?

共有2个答案

施靖
2023-03-14

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

然后将Kafka中的内容使用到Spring应用程序中。

https://www.confluent.io/hub

如果你对Kafka感兴趣,我会向你详细解释

梁成双
2023-03-14

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

从2个位置阅读的哪方面你可以:

  1. 将读卡器实现为一个组合,从文件1读取第一行,然后从文件2读取第一行
 类似资料:
  • 我有从多个文件读取并写入多个文件的Spring批处理配置。是否可以只写入从多个读取的一个文件。假设我收到巨大的XML文件,我将XML拆分为小文件并使用分区器并行读取小文件。但我需要将从不同的小xml文件读取的所有数据写入一个输出文件。Spring批处理是否可以做到这一点?我知道通过使写入器同步是可能的,但我正在寻找任何其他可能的方式作业配置 我得到错误组织。springframework。一批项目

  • 我有几个不同的Spring批处理作业需要写入同一个平面文件。在平面文件中写入数据的顺序并不重要。这些批处理作业可能同时运行。 FlatFileItemWriter是否合适?我担心的是,如果多个作业同时尝试写入平面文件,数据可能会混合在一起。

  • 我正在尝试创建一个应用程序,该应用程序使用spring-batch-excel扩展名来读取用户通过web界面上传的Excel文件,以便解析Excel文件中的地址。 当代码运行时,没有错误,但我得到的只是我日志中的以下内容。即使我的处理器和Writer中都有log/syso(它们从未被调用过,我所能想象的是它没有正确读取文件,也没有返回要处理/写入的数据)。是的,这个文件有数据,实际上有几千条记录。

  • 我需要从多个目录中读取文件,并处理数据并将其存储到DB中。目前我正在使用块多资源阅读器,它适用于1个目录。但现在我必须从多个目录中读取文件。如何使用Spring批处理来做到这一点

  • 我正在使用带有thymeleaf的Spring Boot,我所有的资源都在Spring应用程序之外的路径上,例如。在dev env上应该使用url解析路径,并且live env继续路径。 为什么资源处理程序不处理这些类型的资源,但是如果我处理没有问题?我错过了什么吗? 编辑:如果是并且位置是url也没有被处理

  • 我知道匹配模式解析器,这是Spring批处理提供的。我需要关于如何构造批处理作业的帮助,以便它可以读取循环中的记录类型5和记录类型6。