繁体   English   中英

减少或减少Map框架中的映射器

[英]Increase or decrease of mappers in Map Reduce frame work

我想知道专家对此情况的回答:

说,我有150 MB的文件,最多3个64MB的块。 默认情况下,三个映射器将启动我的Map Reduce。

如果要增加/减少映射器数量,命令是什么?

如果我尝试增加过程的中间部分,那将会发生,因为我只有3个块需要处理。 一旦开始处理,它将需要新数量的映射器,或者它将如何运行?

专家能否对此概念有所启发?

谢谢

这应该对你有帮助

地图数

映射数通常由输入文件中DFS块的数量驱动。 尽管这会导致人们调整其DFS块大小来调整地图数量。 对于地图,并行的正确级别似乎是每个节点10-100个地图,尽管对于非常cpu-light的地图任务,我们将其并行程度提高到300个左右。 任务设置需要一段时间,因此最好至少执行一分钟。

实际控制地图的数量是微妙的。 mapred.map.tasks参数只是InputFormat提示的地图数量。 InputFormat的默认行为是将字节总数拆分为正确的片段数。 但是,在默认情况下,输入文件的DFS块大小被视为输入拆分的上限。 可以通过mapred.min.split.size设置分割大小的下限。 因此,如果您期望10TB的输入数据并具有128MB的DFS块,那么除非mapred.map.tasks更大,否则最终将获得82k映射。 最终,InputFormat确定地图的数量。

还可以使用JobConf的conf.setNumMapTasks(int num)手动增加地图任务的数量。 这可用于增加映射任务的数量,但不会将数量设置为低于Hadoop通过拆分输入数据确定的数量。

更多详细信息-https: //wiki.apache.org/hadoop/HowManyMapsAndReduces

我不确定在工作执行期间是否可以做到; 这必须在工作启动之前进行处理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM