java - Hadoop Map任务/Map对象

标签 java hadoop mapreduce hadoop-streaming hadoop-partitioning

根据理论,以下属性将定义数据节点上的映射/红色任务槽的数量。mapred.tasktracker.map.tasks.maximum | mapred.map.tasks

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

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

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

最佳答案

map slots确定任务跟踪程序可以运行多少个map tasksmap tasks由输入拆分确定,您无法更改。如果map tasks超过map slots,则某些map tasks将阻塞并运行,直到其他任务完成。

关于java - Hadoop Map任务/Map对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23200361/

相关文章:

hadoop - Hadoop数据持久性采用哪种格式?

java - ExpandableListView 中奇怪的空指针异常

azure - 在 Azure 上的 HDInsight 群集上打开端口

hadoop - DataNode在CDH5集群中自动重启

Java Hadoop-lzo 已找到接口(interface),但类是预期的 LzoTextInputFormat

hadoop - 如何为 HDFS 单独指定一组节点,为 MapReduce 作业指定其他节点?

hadoop - mapreduce-中间键和输出

java - 如何让鼠标点击发生?

java - 如何在 TableEditor 中没有任何内容时使其可编辑

java - 如何确保您的代码遵循 SOLID 原则?