Mapreduce 映射缩减和哈希分区
在学习MapReduce时,我遇到了: 给定的Mapreduce程序在映射阶段生成100个具有10个唯一键的键值对 当至少有一个Reduce任务在使用散列分区器时肯定不会分配任何键时,此程序可以有多少Reduce任务选择正确的所有答案 []A.3 []B.11 []约50 []草101 答案是B,C,D 因为唯一键的编号是10。我们必须有至少10个任务。并且至少一个reduce任务具有空密钥Mapreduce 映射缩减和哈希分区,mapreduce,hadoop-partitioning,Mapreduce,Hadoop Partitioning,在学习MapReduce时,我遇到了: 给定的Mapreduce程序在映射阶段生成100个具有10个唯一键的键值对 当至少有一个Reduce任务在使用散列分区器时肯定不会分配任何键时,此程序可以有多少Reduce任务选择正确的所有答案 []A.3 []B.11 []约50 []草101 答案是B,C,D 因为唯一键的编号是10。我们必须有至少10个任务。并且至少一个reduce任务具有空密钥 我无法理解这些答案是如何得出的。请帮助我。地图输出中的唯一键仅分配给一个reduce任务。如果有10个唯
我无法理解这些答案是如何得出的。请帮助我。地图输出中的唯一键仅分配给一个reduce任务。如果有10个唯一键,并且有11个、50个或101个reduce任务,那么必然会有一些reduce任务没有键。要将一个reducer输出为空文件,即没有键分配给reducer,我们至少需要11个reducer,因为hashpartitioner是基于哈希函数分发的。此处接收数据的合格减速器为第r-00000部分至第r-00009部分 Reducer no=密钥哈希代码%n个Reducer
所以可能的余数是0到n-1。这里我们有10个唯一的密钥,即10个不同的余数。我们将有空的reducer文件,即使reducer的数量小于唯一的密钥数量。在最坏的情况下,如果reducer的数量超过唯一键,我们也会得到一个reducer文件为空。因为有10个唯一键,我们需要10个reducer,因为我们需要1个reducer,但没有分配键,所以总共有11个reducer
如果减速器的数量大于或等于11,则作业将无异常运行。因此,任何大于或等于11的数字都是答案。我查找了问题的来源,并将其与解释一起编辑到您的问题中。在解释的哪一部分需要帮助?一个减速机不能处理多个密钥对吗?