对于每个中间键,每个化简器任务都可以发出:
- 根据需要提供任意数量的最终键值对。对这些"n"键值对的类型没有限制(即,它们可以是异构的)。
或
- 根据需要
- 提供任意数量的最终键值对,只要所有键具有相同的类型并且所有值都具有相同的类型。
"随
心所欲"是正确的,对输出对的数量没有限制,(当然只要有足够的空间)。
输出键的类型和输出值的类型在 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
分别。
您只需要设置地图输出的类型(如果它与减少输出不同)。
如果要输出更多类型,则可以使用多个输出。