Mah*_*nan 6 java hadoop mapreduce elastic-map-reduce hadoop-partitioning
我想帮助理解算法.我首先粘贴了算法解释,然后是我的疑惑.
算法:(用于计算记录对之间的重叠)
给定用户定义的参数K,文件DR(*Format:record_id,data*)被分成K个近似等大小的块,使得文档Di的数据落入第i/K th块中.
我们覆盖了Hadoop的分区功能,该功能将映射器发出的密钥映射到reducer实例.每个键(i,j)都映射到j/Kth组中的reducer.
特殊键i,*及其相关值,即文档的数据最多被复制K次,以便可以在每个缩减器处传送文档的全部内容.因此,组中的每个缩减器仅需要在存储器中恢复并加载一个DR文件块,其大小可以通过改变K而任意设置为小.因此可以计算重叠.这是以复制通过MapReduce框架提供的文档为代价的.
释疑:
我做了一些假设:
声明:每个键(i,j)都映射到j/Kth组中的reducer.假设:存在K个减少节点,并且该密钥被映射到j/Kth reduce节点.
怀疑:是否有一些减少节点组合在一起?比如0,1,2节点被分组为0组?
声明:文档的数据最多可复制K次,因此可以在每个reducer上传送文档的全部内容.
所以这意味着K等于没有.减速机节点?如果没有,我们正在浪费计算节点,而不是正确使用它们?
主要疑问:K是否等于减速器节点的数量?
希望得到回应!
谢谢!
在当前程序不再需要节点后,测试相同的程序。我发现\xe2\x80\x99s 通常最好在\xe2\x80\x99s 完成后中断操作。
\n\n但是,如果操作仅知道在操作期间稍后进行处理,则可能有必要允许代码继续到底。
\n