hadoop中是什么阻止我们设置Map器的数量?

cu6pst1q  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(233)

据我所知,我们不可能在mr作业中设置Map器的数量,即使我们可以设置还原器的数量\ref{如何限制Map器的数量}
作为一个概念,我不明白为什么我们不能有一个预定数量的Map器和饲料块的文本文件给他们。

1wnzp6jl

1wnzp6jl1#

为了最佳地平衡性能和工作负载分布,框架通过输入拆分的数量来确定Map器的数量。
apache hadoop wiki链接herehttp://wiki.apache.org/hadoop/howmanymapsandreduces 非常详细-
实际上,控制Map的数量是很微妙的。mapred.map.tasks参数只是一个提示,用于>Map数的inputformat。默认的inputformat行为是将总字节数>拆分为正确的片段数。但是,在默认情况下,>输入文件的dfs块大小被视为输入拆分的上限。可通过mapred.min.split.size>设置拆分大小的下限。因此,如果您需要10tb的输入数据,并且有128mb的dfs块,那么除非mapred.map.tasks更大,否则最终将得到82k个Map。inputformat>最终决定了Map的数量。

相关问题