1

如果有20个字数。每 5 个单词一组,这些组由不同的计算机节点处理。那么,如果“boy”这个词出现了两次,但是又分成了不同的组,那么Map/Redude是用什么样的算法来得到“boy”这个词的实际数量呢。

4

2 回答 2

2

在这个例子中,使用 Map/Reduce 计算这个最明显的方法是每个 mapper 得到 5 个单词,然后将这个单词发送给 reducer。单词将在 reducer 之间拆分,因此 reducer 1 获得所有“boy”单词,reducer 2 获得所有“the”单词等,然后 reducer 可以简单地总结它收到的单词以获得出现次数那个词。

Hadoop 文档中有一个示例:http: //hadoop.apache.org/common/docs/current/mapred_tutorial.html#Example%3A+WordCount+v1.0

于 2012-04-26T03:01:46.030 回答
0

这就是 MapReduce 中的 reduce。主节点将获取每个子组中的出现计数,并通过添加每个单词的出现来组合它们。因此,如果有四个组,并且 'boy' 在其中两个中每个只出现一次,它将通过添加出现来组合它们以获得总共 1+1+0+0=2。

于 2012-04-26T02:57:59.507 回答