2017-08-13 18 views
-1

バネバッチで大量のレコードを処理する戦略を探しています。読者は入力として1行を取るので、プロセッサはメモリに収まらないほど大きなサイズの項目のリストを生成することができます。流れは基本的に次のとおりです。 読み取り - >生成 - 私は一般的には間違った春のバッチを保持していた場合、ネストされたバッチ処理のいくつかの並べ替えた場合>バッチバッチ - 大量のデータを処理する

わからないの書き込みは多分タスクレットを使用して、移動するための方法である、または。

+0

別の手順でリストを事前に生成できない理由はありますか?ステージングテーブルなど? –

+0

私が考えていたのは のような読み込み要求でした - >一度に500k個の生成された行を提供するいくつかのプロバイダがあります - >それらを書き込むライター。 問題はどうしたらいいですか?私はヒープを吹き飛ばさないように、何らかの種類のアイテムプロセッサが必要です。 – CoffeeIsProgramming

+1

世代を行うリーダーも作成したいと思います。 Readerは入力を取得し、生成されたコンテンツのチャンクをアイテムとして提供します。残りのステップはそれに応じて動作します。 –

答えて

1

私はあなたがReader状態でカスタムのReader/Generator/Writerを実装する必要があると言います。 Pageableので、あなたは "ページ"のリストを生成する項目のリストを生成する代わりに。各ページには、ファイルとページ情報[オフセット、ページサイズ]から元の行への参照が含まれています。

ジェネレータは、「ソースページ」を項目を持つ比較的小さなコンテナに変換します。

関連する問題