[オートバランス処理] 変換を使用してランタイムを最適化する
[オートバランス処理] 変換は、パフォーマンスを向上させるためにデータをワーカー間で再配分します。これは、データのバランスが取れていない場合や、ソースからのデータでは十分に並行処理ができない場合に役立ちます。これは、ソースが gzip 圧縮されている場合や JDBC である場合に一般的です。データの再配分には中程度のパフォーマンスコストがかかるため、データのバランスが既に取れている場合は、最適化により必ずしもコストが補われるとは限りません。変換で Apache Spark の再パーティション化を使用して、クラスターのキャパシティに最適な複数のパーティション間でデータをランダムに再度割り当てできます。上級ユーザーの場合は、複数のパーティションを手動で入力できます。さらに、指定した列に基づいてデータを再編成することで、分割テーブルの書き込みを最適化することもできます。これにより、出力ファイルがより統合されます。
-
リソースパネルを開いて、[Autobalance Processing] を選択し、ジョブ図に新しい変換を追加します。ノードを追加する際に選択したノードが、その親になります。
-
(オプション) [Node properties] (ノードのプロパティ) タブで、ジョブ図にノードの名前を入力できます。ノードの親がまだ選択されていない場合は、[Node parents] (ノードの親) リストから、変換の入力ソースとして使用するノードを選択します。
-
(オプション) [変換] タブで、複数のパーティションを入力できます。一般的に、この値はシステムに決定させることをお勧めしますが、値を制御する必要がある場合は乗数を調整したり特定の値を入力できます。列で分割されたデータを保存する場合は、再パーティションの列と同じ列を選択できます。これにより、各パーティションのファイルの数を最小限に抑え、パーティションごとに多数のファイルが作成されるのを防ぐことができます。ファイルが多数作成されると、データをクエリするツールのパフォーマンスが低下します。