ソート済みデータ
ジョブのパフォーマンスを高めるために、ソート済みデータを使用するようにアグリゲータトランスフォーメーションを設定できます。ソート済みデータを処理するためにアグリゲータトランスフォーメーションを設定するには、[詳細]タブで[ソート済み入力]を選択します。
ソート済みデータを使用するようにアグリゲータトランスフォーメーションを設定する場合は、データフローのこれより前の時点でデータをソートする必要があります。アグリゲータトランスフォーメーションでリレーショナルデータベースのデータを処理する場合は、ソースのソートキーを一意にすることも必要です。データが事前に正しくソートされていない場合や、ソートキーが一意でない場合は、マッピングタスクの実行時に予期しない結果を受け取ったりエラーが発生する可能性があります。
マッピングタスクは、ソート済みデータで集計計算を実行するとき、同じグループの連続する行をキャッシュします。このタスクは、別のグループのデータを読み取ると、キャッシュしたグループの集計計算を実行し、次のグループに進みます。
例えば、あるアグリゲータトランスフォーメーションでSTORE_IDとITEMのGroup Byフィールドがあり、[ソート済み入力]オプションが選択されているとします。アグリゲータを通して以下のデータを渡すと、マッピングタスクは新しいグループである201/batteryを検出するとすぐに、101/batteryグループの3つの行について集計を実行します。
STORE_ID | ITEM | QTY | PRICE |
---|
101 | 'battery' | 3 | 2.99 |
101 | 'battery' | 1 | 3.19 |
101 | 'battery' | 2 | 2.59 |
201 | 'battery' | 4 | 1.59 |
201 | 'battery' | 1 | 1.99 |
ソート済みデータを使用しない場合は、マッピングタスクでは、すべてのデータが読み取られた後で集計計算が実行されます。