我有点新Map减少,所以如果有人可以指导我与下面的问题,这将是伟大的
我使用多个输出格式来编写mapreduce中的分离输出文件。假设我的输入文件有水果和蔬菜,因此我把它分成两个文件。水果和蔬菜如下。
水果-r-00000,蔬菜-r-00000,零件-r-00000
我不知道有多少减速器会运行?我知道默认情况下,reducer的数量设置为1,并且由于文件名的数字部分是相同的,所以我相信只有一个reducer运行。我的理解正确吗?为什么要创建part-r-00000文件?我把所有的输出都写在水果文件或蔬菜文件中。
如果我有1 gb的数据要处理,我将如何决定要使用的还原器的最佳数量?
2条答案
按热度按时间igetnqfo1#
nhhxz33t2#
1.这个输出突出了multipleoutputs和multipleoutputformat之间的一个关键区别。当使用multipleoutputs时,您可以输出到reducer的常规outputcollector,或输出到指定输出的outputcollector,或同时输出到这两者,这就是为什么您会看到part-nnnnn文件。
2.根据不同减速机数量的对标,可以确定最佳的减速机数量。这也取决于数据的处理。
例如,我们将使用2个减缩器处理1gb,这会产生一小部分处理。但是对于其他mr作业,我们需要为1gb文件设置5个减缩器,这会产生某种巨大的处理/计算。所以最好设置基准。