据我所知,我们不可能在mr作业中设置Map器的数量,即使我们可以设置还原器的数量\ref{如何限制Map器的数量}作为一个概念,我不明白为什么我们不能有一个预定数量的Map器和饲料块的文本文件给他们。
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的数量。
1条答案
按热度按时间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的数量。