1

我正在尝试对包含;分隔项的平面输入文件进行分区。一行中的第一项表示一个类别,我想对该类别进行分区,以便为每个类别创建一个分区,该分区将由专用线程处理。但我对如何在自定义中实现这种分区逻辑感到困惑Partitioner。分区似乎发生在面向块的步骤之前,因此在读取,写入之前,所以看起来我需要逐行读取自定义分区程序中的文件,从行中获取类别字段并收集具有相同类别的行并创建ExecutionContext对于这些集合中的每一个?

我在寻找正确的方向吗?有经验的人可以提供一个使用文件(可能是伪代码)的小例子吗?

4

2 回答 2

0

我自己也遇到过这个问题。我认为自定义 Partitioner 需要与自定义 ItemReader 配对。ItemReader 使用从属步骤中的数据(由 Partitioner 放在那里)进行初始化,因此只读取适合该步骤的项目。

于 2012-08-08T13:10:39.343 回答
0

您可以在此处此处的这些链接中找到一些自定义分区器实现,以获得总体思路。但我认为你不能逃避为每个分区创建 ExecutionContext 。

于 2015-10-30T16:50:26.423 回答