1
我需要在我的Spring批處理作業中插入聚合。 但是聚合步驟需要有整個數據集可用。Howto在Spring批處理作業中完整數據集合?
在純SQL中,編寫SQL聚合請求很容易:完整的數據集(存儲在數據庫中)可用。
但是在Spring批處理作業中,一切都在內存中完成,並且在分塊中傳播。 那麼如何處理這種數據分佈呢?
對於插入聚合步驟/過程的最佳實踐,您有任何建議嗎?
THX很多關於你的啓示
我需要在我的Spring批處理作業中插入聚合。 但是聚合步驟需要有整個數據集可用。Howto在Spring批處理作業中完整數據集合?
在純SQL中,編寫SQL聚合請求很容易:完整的數據集(存儲在數據庫中)可用。
但是在Spring批處理作業中,一切都在內存中完成,並且在分塊中傳播。 那麼如何處理這種數據分佈呢?
對於插入聚合步驟/過程的最佳實踐,您有任何建議嗎?
THX很多關於你的啓示
你必須在春季批次Partitioning選項,它可以有StepExecutionAggregator
,它有它接受的所有分區步驟StepContext
列表聚集方法。
我們已經與肥皂服務器進行了集成,我們首先收到了需要處理的東西的清單,而不是我們將其分區到子步驟並且在每個子步驟完成後處理完成後調用可以基於兒童步驟環境中的數據。
如果您的數據中包含某些可以用於分區的良好規則(即從數據庫中拉出項目列表並將每個項目並行處理,在步驟上下文中保存項目數據,使用聚合器並將所有內容合併到一起)每個步驟上下文並對組合數據執行常見操作)。
這裏是link例子與分區(沒有聚合,但你可以將它添加到masterStep
)。
Thx Nenad!似乎是一個很好的軌道。 – SylvainR