gpt4 book ai didi

hadoop - Mapreduce API给出错误的映射器计数

转载 作者:行者123 更新时间:2023-12-02 19:22:45 25 4
gpt4 key购买 nike

我试图通过使用下面的代码来获取mapreduce程序中的映射器数量。我得到 mapreduce.job.maps的值为2 ,但是该程序实际上启动了 6个映射器,因为有6个小文件。有人遇到类似问题吗?

代码

job.getConfiguration().get("mapreduce.job.maps")

日志:
num of mappers : 2 
...
17/05/13 06:56:47 INFO input.FileInputFormat: Total input paths to process : 6
17/05/13 06:56:47 INFO mapreduce.JobSubmitter: number of splits:6
...
17/05/13 06:56:48 INFO mapreduce.Job: Running job: job_1494588725898_0047
17/05/13 06:56:59 INFO mapreduce.Job: Job job_1494588725898_0047 running in uber mode : false
17/05/13 06:56:59 INFO mapreduce.Job: map 0% reduce 0%
...
17/05/13 06:57:39 INFO mapreduce.Job: map 100% reduce 100%
17/05/13 06:57:40 INFO mapreduce.Job: Job job_1494588725898_0047 completed successfully
17/05/13 06:57:40 INFO mapreduce.Job: Counters: 49
File System Counters
...
Job Counters
Launched map tasks=6
Launched reduce tasks=2

最佳答案

这不是问题,而是MapReduce的实际行为。

您获得的mapreduce.job.maps属性值是其默认值 2 。映射器任务的数量将始终由文件输入拆分确定,在这种情况下,文件拆分为 6 。为了获得为某个任务启动的实际 map task 数,您必须等到任务完成为止。

关于hadoop - Mapreduce API给出错误的映射器计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43952428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com