使用map reduce在Hadoop上运行某个文件时,有时会创建1个map任务,1个减少任务,而其他文件可以使用4个map和1个reduce任务。
我的问题是基于map和reduce任务的数量决定了什么?
是否有某个map / reduce大小,之后会创建一个新的map / reduce?
非常感谢大家。
答案 0 :(得分:0)
来自official doc:
地图数量通常由DFS块的数量驱动 输入文件。虽然这会导致人们调整他们的DFS块 大小来调整地图的数量。正确的并行度 地图似乎大约是10到100个地图/节点,尽管我们已经采用了它 非常cpu-light地图任务的300左右。任务设置需要一段时间,所以 最好是地图至少需要一分钟才能执行。
理想的减速器应该是使它们最接近的最佳值:
除此之外的任何事情都意味着你的减速机很可能不是很好。用户有一种极大的倾向,即使用真正的高值(“更多并行性意味着更快!”)或真正的低值(“我不想破坏我的命名空间配额!”)。两者都同样危险,导致一个或多个:
namenode
答案 1 :(得分:0)
Mappers的数量等于将要处理的输入文件的HDFS块数。 理想情况下,减速器的数量应该是总映射器的10%左右。假设您有100个映射器,那么理想情况下,减速器的数量应该在10左右。 但是,可以在Map Reduce作业中指定减速器的数量。