我需要一些有关如何在我的应用程序中获取正确数量的 Map 和 Reduce 任务的帮助。
有什么办法可以发现这个数字吗?
Thanks
由于在执行之前无法准确确定应用程序执行前的任务失败、重试和推测性执行尝试的因素,因此无法获取应用程序执行前的实际 Map 和 Reduce 任务数量,因此可以计算出大概的任务数量。衍生的。
MapReduce 作业的 Map 任务总数取决于其输入文件及其文件格式。
对于每个输入文件,都会计算分割,并且每个输入分割将调用一个映射任务。
分割大小将根据以下因素计算:
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
在默认情况下,文件的输入分割大小将大约等于其blocksize
考虑到文件是可分割的。
映射任务的总数将等于每个文件的输入分割数的总和。
总的reduce任务数为1
(默认)或等于mapreduce.job.reduces
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)