![](/img/trans.png)
[英]How can I access a file's content from mappers in Amazon elastic map reduce?
[英]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.