混洗阶段实际上是做什么的?

问题描述 投票:2回答:1

混洗阶段实际上做什么?


可能性-A

由于混洗是将映射器o / p引入化简器o / p的过程,它只是基于分区器中编写的代码将映射器的特定键引入特定的化简器

例如映射器1的o / p为{a,1} {b,1}

映射器2的o / p为{a,1} {b,1}

并且在我的分区程序中,我写了所有以'a'开头的键都将进入化简器1,而所有以'b'开头的键都将去化简器2,因此o / p为:

减速器1:{a,1} {a,1}

减速器2:{b,1} {b,1}


可能性-B

或者与上述过程一起将键归为一组:

因此,o / p为:

减速器1:{a,[1,1]}] >>

减速器2:{b,[1,1]}


我认为应该是A,因为键的分组必须在排序之后进行,因为仅进行了排序,以便在一个键结束而另一键开始时,reduce可以轻松指出。如果是,请何时真正进行密钥分组,请详细说明。

洗牌阶段实际上是做什么的?可能性-A由于改组是将映射器o / p引入化简器o / p的过程,因此它只是将特定的键从映射器引入到...

hadoop mapreduce shuffle mapper reducers
1个回答
0
投票

映射器和简化器不是单独的机器,而是单独的代码。映射代码和归约代码都在集群中存在的同一组机器上运行。

© www.soinside.com 2019 - 2024. All rights reserved.