Hadoop MapReduce任务数

Hadoop MapReduce任务数,hadoop,mapreduce,bigdata,Hadoop,Mapreduce,Bigdata,我需要一些关于如何在我的应用程序中获得正确数量的映射和减少任务的帮助。 有没有办法找到这个号码 感谢映射任务的数量等于任何作业中的输入拆分数量,您可以找到其中任何一个,以找到可以显式设置的映射器数量和还原器数量。此外,运行map reduce作业后,您可以观察生成的日志,以了解作业中映射器和还原器的数量。在执行应用程序之前,无法获取应用程序的map和reduce任务的实际数量,由于在执行之前无法准确确定任务失败后的重新尝试和推测性执行尝试的因素,因此可以导出大致数量的任务 MapReduce作业

我需要一些关于如何在我的应用程序中获得正确数量的映射和减少任务的帮助。 有没有办法找到这个号码


感谢

映射任务的数量等于任何作业中的输入拆分数量,您可以找到其中任何一个,以找到可以显式设置的映射器数量和还原器数量。此外,运行map reduce作业后,您可以观察生成的日志,以了解作业中映射器和还原器的数量。

在执行应用程序之前,无法获取应用程序的map和reduce任务的实际数量,由于在执行之前无法准确确定任务失败后的重新尝试和推测性执行尝试的因素,因此可以导出大致数量的任务

MapReduce作业的映射任务总数取决于其输入文件及其文件格式。
对于每个输入文件,将计算分割,并且每个输入分割将调用一个映射任务

分割大小将根据

input_split_size = max(mapreduce.input.fileinputformat.split.minsize, min(mapreduce.input.fileinputformat.split.maxsize, dfs.blocksize))
如果属性

  • mapreduce.input.fileinputformat.split.minsize

  • mapreduce.input.fileinputformat.split.maxsize

    默认情况下,考虑到文件可拆分,文件的输入拆分大小将大约等于其
    块大小

映射任务的总数将等于每个文件的输入拆分数之和。

reduce任务的总数,它是
1
(默认值)或等于
mapreduce.job.reduces

映射器的数量取决于HDFS中的文件块大小(默认值)和输入分割大小(如果我们指定的不是默认值)

如果您有128MB的文件,并且hdfs块大小为64MB,那么由于默认行为,映射任务的数量将为2

如果输入分割大小为32MB,但hdfs块大小为64MB,则映射任务的时间数将为4。 因此,映射任务取决于上面定义的所有三个因素

reduce任务的数量取决于conf.seNumReduceTask(num)或
mapreduce.job.reduces
mapred.reduce.tasks
已弃用)


作业的计数器将显示作业使用的映射器和还原器的实际数量