ランクグループの定義
ランク付けされた行のグループを定義するようにランクトランスフォーメーションを設定できます。例えば、製造業者別に最も高価な商品を10個選択する場合は、製造業者のランクグループを定義します。[グループ別]タブでランクグループを定義します。
ランクグループを定義するには、グループ化フィールドとして1つ以上の受信フィールドを選択します。ランクグループ内の一意の値それぞれに対して、トランスフォーメーションは、ランク定義(最上位または最下位、および各ランク内の順位)に該当する行のグループを作成します。
注: 大量のデータを処理する詳細モードのマッピングのパフォーマンスを向上させるように、ランクグループを定義します。ランクグループを定義した場合、処理が複数のワーカーノードに分散されます。ランクグループを定義しない場合は、データは1つのワーカーノードで処理されます。データのボリュームによっては、パフォーマンスが影響を受け、ワーカーノードに関連付けられているEBSボリューム上のストレージ領域不足のためにマッピングが失敗する可能性があります。
例えば、四半期ごとに上位5人の販売員をランク付けするランクトランスフォーメーションを作成するとします。ランクインデックスは、以下のように四半期ごとに販売員に1から5までの数字を付けます。
RANKINDEX | SALES_PERSON | SALES | QUARTER |
---|
1 | Alexandra B. | 10000 | 1 |
2 | Boris M. | 9000 | 1 |
3 | Chanchal R. | 8000 | 1 |
4 | Dong T. | 7000 | 1 |
5 | Elias M. | 6000 | 1 |
1 | Elias M. | 11000 | 2 |
2 | Boris M. | 10000 | 2 |
3 | Alexandra B. | 9050 | 2 |
4 | Dong T. | 7500 | 2 |
5 | Frances Z. | 6900 | 2 |
複数のランクグループを定義する場合、ランクトランスフォーメーションは、[グループ化フィールド]リストでフィールドが選択されている順序でランク付けされた行をグループ化します。