我有一个1gb的文件。它是一个简单的文本文件。我有一个3节点的集群。如果我编写一个java mapreduce程序来计算每个单词的出现次数,那么调用mappers map()和reducers reduce方法的次数是多少?
6rvt4ljy1#
首先,集群的大小并不重要。这将导致一些冗余调用,只是为了容错,但我猜这不是你的问题。因此,如果您有一个单节点集群或一个100节点集群,map和reduce任务的数量将是相同的,结果将是相同的。现在,对于map任务的数量,这取决于一些事情,例如块的大小和输入的格式。您可以在本文中找到有关Map器数量的详细信息。现在对于reduce方法的调用次数来说,这更容易定义。在wordcount程序中,Map器的输出键是单词。因此,每一个不同的单词都会在reduce方法的不同调用中结束。换句话说,reduce方法被调用的次数等于数据集中存在的不同单词的数量。
1条答案
按热度按时间6rvt4ljy1#
首先,集群的大小并不重要。这将导致一些冗余调用,只是为了容错,但我猜这不是你的问题。因此,如果您有一个单节点集群或一个100节点集群,map和reduce任务的数量将是相同的,结果将是相同的。
现在,对于map任务的数量,这取决于一些事情,例如块的大小和输入的格式。您可以在本文中找到有关Map器数量的详细信息。
现在对于reduce方法的调用次数来说,这更容易定义。在wordcount程序中,Map器的输出键是单词。因此,每一个不同的单词都会在reduce方法的不同调用中结束。换句话说,reduce方法被调用的次数等于数据集中存在的不同单词的数量。