jjzjj

getPartition

全部标签

hadoop - 分区! hadoop是怎么做到的?使用哈希函数?默认功能是什么?

分区是确定哪个reducer实例将接收哪些中间键和值的过程。每个映射器必须为其所有输出(键、值)对确定哪个缩减器将接收它们。有必要对于任何键,无论哪个映射器实例生成它,目标分区都是相同的问题:hadoop是怎么做到的?使用哈希函数?默认功能是什么? 最佳答案 Hadoop中的默认分区器是HashPartitioner,它有一个名为getPartition的方法。它采用key.hashCode()&Integer.MAX_VALUE并使用reduce任务的数量找到模数。例如,如果有10个reduce任务,getPartition将为所

java - Partitioner 类型的 getPartition 的名称冲突在 MapReduce、Hadoop 中具有相同类型主类的删除

我正在尝试编写一个代码,我可以根据字符的长度自定义输入将转到reducer,使用实现到默认Mapper和Reducer的分区,但出现以下错误。我会感谢帮助我的人。intsetNumRedTasks)错误:Nameclash:ThemethodgetPartition(Object,Object,int)oftypeMyPartitionerhasthesameerasureasgetPartition(K2,V2,int)oftypePartitionerbutdoesnotoverrideit代码:packagepartition;importorg.apache.hadoop.io