我的问题是,不MapReduce框架(如Hadoop实现),指定的输入,映射器映射作业开始,或者是在运行时之前完成?输入分配Hadoop中
也就是说,假设我有一些输入i
,和机器m_1,m_2 .. m_k
。这些机器不需要同样的供电,有些机器可能比其他机器具有更好的性能(CPU,内存)。如果主节点将映射器的输入拆分为映射器任务,或者至少将输入分配给特定映射器节点,则可能会出现某些机器(更强大的机器)可以完成其工作并等待的情况。但是,如果拆分作业在运行时完成,则不会出现此问题。
如果您也表明,preMapper阶段MapReduce
整体分割机构,我会很高兴。
谢谢你的回答。所以,从你说的话来看,如果我有5台mapper,并且数据存储在2台机器上的HDFS(使用你给出的配置),那么剩下的3台mapper将不会做任何事情? –
@JeyhunKarimov他们将只在这些机器上启动。可能会按顺序排列。它将取决于配置,一台机器允许一次运行多少个映射器或减速器。 – YoungHobbit
我不关心那些有本地数据和启动映射器的机器。根据你的回答,我担心没有本地数据的其他机器无法启动映射器。我们可以做些什么来克服这个问题? –