Hadoop Map任务/地图对象

时间:2014-04-21 15:26:12

标签: java hadoop mapreduce hadoop-streaming hadoop-partitioning

根据理论,以下属性用于定义数据节点处的地图/红色任务槽的数量。 mapred.tasktracker.map.tasks.maximum | mapred.map.tasks

此外,映射器对象的数量由MapReduce作业中的输入拆分数决定。我们实现map / red函数,框架创建对象并将它们发送到最接近数据块的位置。

那么地图任务槽和框架创建的映射器对象之间的区别是什么。

假设我在2个数据节点上存储2TB文件,每个节点有400Mb。 如果我定义dfs.block.size =100Mb,则每个节点将保存400/100 = 4个数据块。在这里,在4个数据块中,理想情况下,每个节点可以有4个输入分割和4个映射器对象。同时,如果我定义mapred.tasktracker.map.tasks.maximum = 2& mapred.map.tasks=2,那么我可以从中得出什么结论。我可以说4个映射器对象将在2个映射任务槽之间共享。我可能会走错方向,任何澄清都会有所帮助。

1 个答案:

答案 0 :(得分:0)

map slots确定任务执行者可以运行多少map tasksmap tasks由输入拆分决定,您无法对其进行更改。如果map tasks超过map slots某些map tasks将阻止并运行,直到其他任务完成。