1

こんにちは、私は Hadoop を学んでいます。ワード カウントの問題にカスタム パーティショナーを使用する方法の例が必要です。「A」で始まるすべての文字が最初のレデューサーに移動し、すべての文字「B」が2番目のレデューサーに移動するように、レデューサーを26に設定したい....

public class PersonPartitioner は Partitioner を拡張します{

@Override
public int getPartition(Text key, IntWritable Val, int numOfReducer) {
    String line = key.toString();
    String [] splits = line.trim().replaceAll("[0-9]", "").split("\\W+");
    for(String str:splits){

        if(null==str||str.trim().length()<1||""==str){
        }else{String ch = str.substring(0, 1);
            character.set(ch);
        }
    }




    return Math.abs(character.charAt(0).hashCode()*127)%numOfReducer;
4

1 に答える 1