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

用spring批处理习惯性地排序文件内容

钱青青
2023-03-14

我有一个包含许多字段的CSV文件。读取文件的惯用方法是什么,使用字段子集对文件进行排序,然后编写另一个CSV作为输出。

我是否应该尝试在Spring批处理中执行此操作?我知道基于*nix的操作系统具有排序实用程序来执行此操作,但如果可能,我希望将所有工作包含在Spring批处理中。

留档的批处理策略部分似乎建议这可能是实现此目的的标准实用程序步骤:

除了主要构建块之外,每个应用程序可以使用一个或多个标准实用程序步骤,例如:

排序:读取输入文件并生成输出文件的程序,其中记录已根据记录中的排序键字段重新排序。排序通常由标准系统实用程序执行。

但我找不到这个。欢迎指点!

非常感谢!

共有2个答案

彭坚壁
2023-03-14

我发现有一个SystemCommand dTasklet旨在运行OS命令。这可用于执行排序、查找唯一项目等操作。

支铭晨
2023-03-14

除非您真的应该在Spring Batch中执行此操作,否则我建议您使用基于操作系统的命令执行此操作。

但是你的观点是正确的,将中间步骤添加到您的作业以排序/过滤甚至清理数据是批处理或ETL作业中使用的主流模式。

希望这有帮助。

 类似资料:
  • 我有一个包含多个json文件的zip文件。我已解压缩它们,然后使用以下代码从json获取POJO对象: 但我需要使用spring批处理逐个处理这些json文件。有人能帮助我如何在spring批处理中实现这一点吗?我想使用1000块来读取json文件。我的json对象非常复杂。例子:

  • 总之,我有一个要求,在使用Spring批处理时,我确实生成了最终结果文件。生成文件后,我需要使用SFTP将它们传输到另一个服务器。现在我把它们看成是两个独立的程序。有没有办法让我把这两个结合起来?我想知道我是否可以使用Spring批处理生成文件,然后立即将文件传输到生成文件的同一程序中的另一个服务器。 我是一个新的Spring批次,所以寻找可能的方法。 不确定为什么会出现连接超时错误。 XML配置

  • 我正在学习如何使用java编程查看txt文件,我想知道为什么我的代码不能工作。我使用扫描仪接收用户输入,然后使用用户输入查看整个白鲸,并返回word在书中的出现次数。我唯一的问题是,无论我放什么词,它都返回0,我不知道为什么。我怀疑这是他们对我的文件进行解析和比较的方式,但我真的不知道。感谢帮助。

  • 需要读取spring批处理中的文件,对其进行处理并将其作为一个提要保存。一个提要包含50%的信息。当我必须持久化提要的最终结果时,我需要使用公共字段将它们组合起来,并像一个项目一样持久化。请参见下面的示例。 我需要保留的最终信息如下: 请建议我如何在我的Spring批工作中实现这一点。 谢谢

  • 主要内容:创建批处理文件,保存批处理文件,执行批处理文件,修改批处理文件在本章中,我们将学习如何创建,保存,执行和修改批处理文件。 创建批处理文件 批处理文件通常在记事本中创建。 因此,最简单的方法是打开记事本并输入脚本所需的命令。 对于这个练习,打开记事本并输入以下语句。 保存批处理文件 在创建批处理文件后,下一步是保存批处理文件。 批处理文件的扩展名为或。 命名批处理文件时需要注意的一些常规规则 - 在命名批处理文件时避免使用空格,有时会在从其他脚本中调用时产生问

  • 问题内容: 我是ES6 Promises的新手,并且一直在进行研究。我在NodeJS中执行了一些执行异步工作的代码,但是我有一些必须先检查的前提条件。我正在寻求处理这种情况(如果存在这种情况)以及一些推理的 惯用最佳实践 。我已经有了有效的代码,希望能对您有所了解。 考虑以下虚构的片段: 如果我将其转换为承诺国,我看到两个选择。 选项1 ,我可以在promise中包含前提条件。 选择2 ,我可以在