最近、私はhadoopの決定的なガイドを読んでいます。 私は2つの質問があります。Text.hashCode()とInterger.MAX_VALUEはどういう意味ですか?
1.Iは、1つのカスタムパーティショナのコードの一部を見た:
public class KeyPartitioner extends Partitioner<TextPair, Text>{
@Override
public int getPartition(TextPair key, Text value, int numPartitions){
return (key.getFirst().hashCode()&Interger.MAX_VALUE)%numPartitions;
}
}
ことが& Integer.MAX_VALUEのために何を意味するのでしょうか?なぜ&を使用するのですか?
2.私はIntWritable用のカスタムパーティショナーも作成します。それでは、key.value%numPartitionsは直接問題なくOKです。
'&'ビット単位のANDです。 – Maroun
@MarounMarounはい、私は知っていますので、ハッシュコードをmax_value以下に保つためにhashcodeをmax_valueに使用していますか? – JoJo
否定的なパーティションは明らかにナンセンスなので、正の値にしておきます。 –