鍵が1つしかない場合。1 つのレデューサーのみに送信されるのを回避する (複数のレデューサーに分散する) ことはできますか?
レデューサーの出力を結合するために、2 つ目の map reduce プログラムが必要になる場合があることを理解していますか? これは良いアプローチですか?もしくは良い方法があれば教えてください。
鍵が1つしかない場合。1 つのレデューサーのみに送信されるのを回避する (複数のレデューサーに分散する) ことはできますか?
レデューサーの出力を結合するために、2 つ目の map reduce プログラムが必要になる場合があることを理解していますか? これは良いアプローチですか?もしくは良い方法があれば教えてください。
私もかつて似たような状況にありました。私がしたことは次のようなものです:
int numberOfReduceCalls = 5
IntWritable outKey = new IntWritable();
Random random = new Random();
public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
// use a random integer within a limit
outKey.set( random.nextInt(numberOfReduceCalls) );
context.write(outKey, value);
}