SpringBatch で MapReduce スタイルの操作を行うことは可能ですか?
バッチ ジョブには 2 つのステップがあります。最初のステップでは、平均を計算します。2 番目のステップでは、各値を平均と比較して別の値を決定します。
たとえば、学生のスコアの巨大なデータベースがあるとしましょう。最初のステップでは、各コース/試験の平均スコアを計算します。2 番目のステップでは、個々のスコアを平均と比較して、単純なルールに基づいて成績を決定します。
- A 生徒の成績が平均以上の場合
- B 学生のスコアが平均の場合
- C 生徒の点数が平均以下の場合
現在、私の最初のステップは、平均を選択してテーブルに書き込む Sql です。2 番目のステップは、平均スコアを個々のスコアと結合し、Processor を使用してルールを実装する Sql です。
ステップでよく使用される avg や min などの同様の集計関数があります。Sql をできるだけシンプルに保ちながら、プロセッサでこれを実行できるとよいと思います。グループ化基準に基づいて複数の行にわたって結果を集計し、出力テーブルに平均/最小値を 1 回書き込むプロセッサを作成する方法はありますか?
このパターンは何度も繰り返され、平均スコアと個々のスコアの両方を取得する Sql を使用したシングル プロセッサの実装を探しているわけではありません。