是否可以在SpringBatch中執行MapReduce樣式操作?SpringBatch中的MapReduce/Aggregate操作
我在批量作業中有兩個步驟。第一步計算平均值。第二步將每個值與平均值進行比較以確定另一個值。
例如,讓我說我有一個龐大的學生成績數據庫。第一步計算每門課程/考試的平均分數。第二步個人得分比較平均,以確定分級基於一些簡單的規則:
- 甲如果學生的分數高於平均
- 乙如果學生成績是平均
- C如果學生的分數低於平均
目前我的第一步是選擇平均值並將其寫入表的Sql。第二步是一個Sql,將平均分與個人分數結合起來,並使用處理器來實現該規則。
有類似的聚合函數,如avg,min在步驟中使用了很多,我真的更喜歡如果這可以在處理器中完成,保持Sqls儘可能簡單。有沒有辦法編寫一個處理器,它根據分組標準在多行上聚合結果,然後將平均值/最小值寫入輸出表一次?
這種模式重複了很多,我不是在尋找使用Sql的單處理器實現,它可以獲取平均分數和單個分數。