【发布时间】:2015-03-06 19:53:07
【问题描述】:
我们正在使用 Spring Batch 来处理 500K 行的大型 CSV 文件。这个处理的结果是两件事,一行表示一个文章对象,我们没有任何问题,在块完成后,我们使用处理过的文章列表(每块 1000 个)进行 API 调用。 API 端点可以过滤掉重复项,因此我们可以一次处理一行。
每行也有数量,第二个结果应该是每个位置相同物品标识符的数量之和
article_code, article_name, size, color, quantity, location, sublocation
123, Nike Shoes, 32, black, 3, store1, sales floor 1
124, Nike shoes, 34, white, 2, store1, sales floor 1
123, Nike Shoes, 32, black, 5, store1, sales floor 2
123, Nike shoes, 32, black, 5, store1, stock room
124, Nike shoes, 34, white, 7, store2, sales floor
123, Nike shoes, 32, black, 3, store2, sales floor
111, Nike shoes, 37, pink, 5, store2, sales floor
这应该会导致为每个位置创建 3 篇文章和 2 次 API 调用以保存库存(文章 123 在位置 store1 上的数量为 13,在 store2 中的数量为 3)。
目前,我们有一个步骤可以将文章保存在其余 API 之上,并作为副作用将数量保存在 DB 中,另一个步骤是从按位置分组的 DB 中提取该数据并执行 API 调用以保存库存。
- 如果数据步骤是跨步骤存储数据的好方法是什么?
大于
StepContext的限制? - spring batch 是否有任何优雅的方式来汇总 CSV 文件中未按某些标准排序的行?
【问题讨论】:
标签: spring csv spring-batch