私の質問は主に理論的なものです。Informatica ワークフローでアグリゲーターを使用し、並べ替えられた入力プロパティを選択しない場合、アグリゲーター変換がポートごとのグループに基づいてデータを並べ替えてから集計を行うと想定します。この操作のパフォーマンスを向上させるために、並べ替えられた入力プロパティをオンにして、ソーター変換の出力 (キー = ポートごとのグループ化) をアグリゲーターに渡すことをお勧めします。私の質問は次のとおりです。マップの観点から、操作の数はどちらの場合も似ています。データを並べ替えてから、集計します。では、ソーター + アグリゲーター (ソートされた入力) が単一のアグリゲーター (ソートされた入力なし) よりもはるかに高速に実行されるのはなぜですか?
7933 次
1 に答える
1
アグリゲーター変換が集計の前にデータをソートするのは正しくありません。各行を読み取り、ソース全体を読み取るまで各グループのデータを格納します。これは、各グループがどこで終了するかを確認できないためです。すべての行を読み取った後でのみ、集計を実行できます。その結果、より多くのデータ キャッシュを使用します。
ソートされた入力オプションを使用すると、統合サービスはデータがグループ別にソートされると想定し、グループのすべての行を読み取るとすぐに集計計算を実行します。
複数のパーティションでセッションを構成した場合、ソートされた入力を使用したパフォーマンスの向上はより顕著になります。
また、アグリゲーターにネストされた集約関数がある場合、またはセッションが増分集約を使用している場合、ソートされた入力は使用できません。おそらく、それがアグリゲーターがデータを自動的にソートしない理由です。
于 2015-07-17T18:50:09.023 に答える