NullWritable的目的

时间:2015-10-27 05:55:25

标签: hadoop mapreduce

我想计算已预订电影票的学生人数,并且在减少阶段之后我只想要一个输出。我希望映射器发出的学生数量不是密钥。 我可以使用NullWritable作为输出键,以便从地图侧发出任何内容作为reduce侧的键吗? 如下图所示

context.write(NullWritable.get(),new IntWritable(1);

数据将被发送到reducer,reducer将执行进一步的聚合

请建议是否有人有更好的选择。

提前谢谢!!

1 个答案:

答案 0 :(得分:1)

相反,您可以将地图输出作为

发出
context.write(new Text("number of students"),new IntWritable(1));

在驱动程序中将reducers的数量设置为1.然后你可以总结reducer端的值。

假设您在输出文件中只需要值,并且在这种情况下不需要密钥,则可以使用NullWritable。

context.write(NullWritable.get(),value)