2016-02-12 84 views
1

我有一个1GB的文件。这是一个简单的文本文件。我有一个3节点群集。如果我编写一个Java MapReduce程序来计算每个单词的发生次数,Mappers Map()将被调用多少次,并调用Reducers reduce方法?Hadoop Map和Reduce框架如何

回答

2

首先,集群的大小并不重要。它会导致一些冗余的调用,只是为了容错,但我想这不是你的问题。因此,如果您有1节点群集或100节点群集,则map和reduce任务的数量将相同,结果将相同。

现在,对于地图任务的数量,这取决于一些事情,例如块的大小和输入的格式。你可以在this article找到关于mappers的数量的详细信息。

现在要调用reduce方法的次数,这更容易定义。在wordcount程序中,映射器的输出键是一个单词。因此,每个不同的单词最终都会以不同的方式调用reduce方法。换句话说,reduce方法被调用的次数等于数据集中存在的不同单词的数量。

+0

对不起,延迟回复。上面的答案符合答案 – hanmayya