Hadoop Reducer执行重复出现

Hadoop Reducer执行重复出现,hadoop,mapreduce,reduce,Hadoop,Mapreduce,Reduce,所以映射程序只在包含给定数据块的给定从属节点上执行一次,对吗 但是Reducer可能会执行多次,因为同一个键可能来自多个映射器节点,对吗 对于单个MapReduce作业,在每个映射器上进行洗牌和排序是否正确 一般来说,我认为不应该说Mapper/Reducer执行了多少次,因为它们广泛分布在不同的节点中,由MRv1中的JobTracker或MRv2中的ResourceManager进行调度。但希望我下面的回答能帮助你更好地理解 Q:“所以映射程序只在包含给定数据块的给定从属节点上执行一次,对吗?

所以映射程序只在包含给定数据块的给定从属节点上执行一次,对吗

但是Reducer可能会执行多次,因为同一个键可能来自多个映射器节点,对吗


对于单个MapReduce作业,在每个映射器上进行洗牌和排序是否正确

一般来说,我认为不应该说Mapper/Reducer执行了多少次,因为它们广泛分布在不同的节点中,由MRv1中的JobTracker或MRv2中的ResourceManager进行调度。但希望我下面的回答能帮助你更好地理解

Q:“所以映射程序只在包含给定数据块的给定从属节点上执行一次,对吗?”

答:大多数情况下都是正确的。通常情况下,hadoop会为每个输入分割启动一个映射器(默认情况下与数据块大小相同),但如果映射器出现故障,它会启动一个新的映射器

Q:“但是Reducer可能会执行多次,因为同一个键可能来自多个映射器节点,对吗?”

A:不对。洗牌和排序过程将把所有映射器的输出合并成一个单独的排序输入,并馈送到reducer。减速器的数量由用户定义

Q:“对于单个MapReduce作业,在每个映射器上进行洗牌和排序是否正确?”

A:不准确。Shuffle阶段是hadoop执行的过程,用于对映射器的输出进行排序并将其作为输入传输到还原器。复制所有映射器的输出后,排序阶段将合并所有输出并保持其排序顺序。所以从技术上讲,洗牌和排序的第一部分是针对每个映射器进行的

谢谢