mapreduce - 中间密钥和输出

时间:2014-11-14 11:48:25

标签: hadoop mapreduce

对于每个中间键,每个reducer任务都可以发出:

  • 尽可能多的最终键值对。对那些'n'键值对的类型没有限制(即,它们可以是异构的)。

OR

  • 尽可能多的最终键值对,只要所有键具有相同的类型且所有值具有相同的类型。

1 个答案:

答案 0 :(得分:0)

“尽可能多的”是正确的,输出对的数量没有限制(当然,只要有足够的空间)。

输出键的类型和输出值的类型在main方法中(在旧API的Driver类中)预定义,以及映射输出键和值的类型。 这些设置如下:

conf.setOutputKeyClass(VIntWritable.class); //just an example
conf.setOutputValueClass(Text.class); //just an example

conf.setMapOutputKeyClass(VIntWritable.class); //just an example
conf.setMapOutputValueClass(LongWritable.class); //just an example

分别。

如果地图输出的类型与reduce输出不同,则只需设置地图输出的类型。

如果您想输出更多类型,则可以使用MultipleOutputs