【发布时间】:2014-04-21 15:26:12
【问题描述】:
根据理论,以下属性用于定义数据节点处的地图/红色任务槽数。
mapred.tasktracker.map.tasks.maximum | mapred.map.tasks。
此外,映射器对象的数量由 MapReduce 作业中的输入拆分数量决定。我们实现 map/red 函数,框架创建对象并将它们发送到最接近数据块的位置。
那么map任务槽和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 个映射任务槽之间共享吗?我可能走错了方向,任何澄清都会有所帮助。
【问题讨论】:
标签: java hadoop mapreduce hadoop-streaming hadoop-partitioning