代码之家  ›  专栏  ›  技术社区  ›  janetsmith

如何使用Spring批处理进行聚合?

  •  0
  • janetsmith  · 技术社区  · 7 年前

    我试图弄清楚如何使用Spring批处理进行聚合。

    name
    John
    Amy
    John
    Ryan
    

    我想要文本文件中的名称计数:

    name, count
    Amy, 1
    John, 2
    Ryan, 1
    

    根据我从SpringBatch中学到的知识,ETL批处理过程(itemReader->项目处理器->ItemWriter)更像是map reduce行话中的映射阶段。如何在Spring批处理中进行缩减(聚合)阶段?

    1 回复  |  直到 7 年前
        1
  •  5
  •   Mahmoud Ben Hassine    7 年前

    这个 ItemProcessor 通常用于过滤、验证或将数据从一种类型映射到另一种类型,但也可用于任何类型的处理,如案例中的计数。例如,项目处理器可以保存 name -> count

    面向块的处理模型不直接映射到map-reduce模型。然而,分区是您需要的。这个 StepExecutionSplitter StepExecutionAggregator 是在本地或远程执行类似map-reduce操作的关键概念。有关这方面的更多详细信息,请参阅 Partitioning 参考文件的第节。

    Howto aggregate on full data set in Spring Batch jobs?

    希望这有帮助。