地图减少如何工作..我说得对吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地图减少如何工作..我说得对吗?相关的知识,希望对你有一定的参考价值。
我试图理解map-reduce实际上是如何工作的。请阅读我在下面写的内容,并告诉我这里是否有任何遗漏的部分或不正确的东西。谢谢。
首先将数据拆分为所谓的输入拆分(这是一种逻辑类型的组,我们将其大小定义为记录处理的需要)。然后,每个输入拆分都有一个Mapper,它接受每个输入拆分并按键和值对其进行排序。然后,有一个混洗过程,它从映射器中获取所有数据(键值),并将所有相同的键与其值合并(输出所有键及其值列表)。进行混洗过程以便为每个类型的密钥及其总和值提供1个密钥的输入。然后,Reducer将所有键值合并到一个位置(页面可能是?),这是MapReduce过程的最终结果。我们只需要确保定义Map(它总是给出键值的输出)和Reduce(最终结果 - 得到输入键值,可以是count,sum,avg等等)步骤代码。
答案
你的理解有点特别错误,特别是mapper的工作原理。我got a very nice pictorial image用简单的术语来解释
它类似于wordcount
程序,其中
- 每捆巧克力都是
InputSplit
,由一个映射器处理。所以我们有3个捆绑。 - 每个巧克力都是一个词。一个或多个单词(制作句子)是单个映射器的记录输入。因此,在一个
inputsplit
内,可能有多个records
,每个record
输入到单个mapper
。 mapper
计算每个word
(巧克力)的发生和吐计数。请注意,每个映射器只能处理一个line
(记录)。一旦完成,它会从record
中挑选下一个inputsplit
。 (图像的第2阶段)- 一旦
map
阶段结束,sorting
和shuffling
将制作一个相同巧克力计数的bucket
。 (图像中的第3阶段) - 一个减速器得到一个
bucket
与密钥作为name of the chocolate
(或word
)和一个计数列表。因此,整个输入文件中有尽可能多的reducer和许多不同的单词。 - reducer迭代计数并将它们相加以产生最终计数并将其发出。
下图显示了inputsplit
程序的单个wordcount
如何工作:
另一答案
类似的QA - Simple explanation of MapReduce?
此外,这篇文章以非常简单的方式解释Hadoop - HDFS和Mapreduce qazxsw poi
以上是关于地图减少如何工作..我说得对吗?的主要内容,如果未能解决你的问题,请参考以下文章