试图了解Map Reduce

时间:2011-11-18 00:05:51

标签: java hadoop mapreduce

我的Ubuntu Server vm上有一个CDH3伪分布式群集。据我所知,似乎工作得很好。到目前为止,我已经尝试运行一些示例MR程序,并且它们按预期工作。

我正在弄乱一个例子,它用csv,逗号分隔文件中的所有数字相加。我没有输出总和,而是添加了另一行输出它加在一起的KV对的总数。我有两行output.collect:

output.collect(new DoubleWritable(0), new DoubleWritable(count));
output.collect(new DoubleWritable(1), new DoubleWritable(sum));

我期待的是

0.0     273        // correct number of KV pairs

1.0     14803.957104520006          // correct sum of all values

相反,我正在

0.0     2.0

1.0     273.0

0.0     2.0

1.0     14803.957104520006

我只有2个output.collect语句,有人可以解释为什么我有4个输出行吗?我确信该程序正在计算并正确添加,但我无法理解它在幕后的作用以及为什么它的行为如此?

在没有我要求的情况下,它可能会进行分布式添加吗?

我的代码:http://pastebin.com/KX3uVN27

提前致谢!

0 个答案:

没有答案