根据理论,以下属性是在数据节点定义地图/红色任务槽的数量。
mapred.tasktracker.map.tasks.maximum | mapred.map.tasks
.
此外,映射器对象的数量由 MapReduce 作业中的输入拆分数量决定。我们实现 map/red 功能,框架创建对象并将它们发送到最接近数据块的位置。
那么map task slot和framework创建的mapper对象有什么区别呢?
假设我在 5 个数据节点上存储 2TB 文件,每个节点有 400Mb。如果我定义dfs.block.size =100Mb
,那么每个节点将保存 400/100 = 4 个数据块。在这里,理想情况下,在 4 个数据块中,我们可以有 4 个输入拆分,然后每个节点有 4 个映射器对象。同时,如果我定义mapred.tasktracker.map.tasks.maximum = 2
& mapred.map.tasks=2
,那么我可以从中得出什么结论。我可以说 4 个映射器对象将在 2 个映射任务槽之间共享吗?我可能会走错方向,任何澄清都会有所帮助。