0

如果我只有一把钥匙。我可以避免将其仅发送到一个减速器(并将其分配到多个减速器)吗?

我知道那我可能需要第二个 map reduce 程序来组合 reducer 输出?这是一个好方法吗?或者请告诉我是否有更好的方法?

4

1 回答 1

1

我曾经有过类似的情况。我所做的是这样的:

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);
}
于 2014-11-14T05:30:49.440 回答