map-reduce 是如何工作的……我做对了吗?
How does map-reduce work..Did i get it right?
我正在尝试了解 map-reduce 的实际工作原理。请阅读我在下面写的内容,并告诉我这里是否有任何遗漏或不正确的地方。
谢谢你。
首先将数据拆分为所谓的输入拆分(这是一种逻辑组,我们将其大小定义为记录处理的需要)。
然后,每个输入拆分都有一个映射器,它接受每个输入拆分并按键和值对其进行排序。
然后,有一个洗牌过程,它从映射器(键值)中获取所有数据,并将所有相同的键与其值合并(输出它是所有键及其值列表)。洗牌过程的发生是为了给缩减器一个 1 键的输入,用于每种类型的键及其总值。
然后,Reducer 将所有键值合并到一个地方(也许是页面?),这是 MapReduce 过程的最终结果。
我们只需要确保定义 Map(始终给出键值输出)和 Reduce(最终结果 - 获取输入键值,可以是计数、求和、平均值等)步骤代码。
你的理解有点错误,特别是映射器的工作原理。
我got a very nice pictorial image简单解释一下
它类似于wordcount
程序,其中
- 每捆巧克力都是
InputSplit
,由映射器处理。所以我们有 3 个包。
- 每块巧克力都是一个词。一个或多个单词(构成一个句子)是单个映射器的记录输入。所以,一个
inputsplit
内,可能有多个records
,每个record
输入到单个mapper
。
mapper
计算每个 word
(巧克力)的出现次数并吐出计数。请注意,每个映射器仅处理一个 line
(记录)。一旦完成,它就会从 inputsplit
中选择下一个 record
。 (图中的第 2 相)
map
阶段完成后,sorting
和 shuffling
开始计算 bucket
相同的巧克力。 (图中的第 3 相)
- 一个reducer得到一个
bucket
键为name of the chocolate
(或word
)和一个list计数。因此,在整个输入文件中,reducer 的数量与不同单词的数量一样多。
- reducer 遍历计数并将它们相加以产生最终计数并根据单词发出它。
下图显示了 wordcount
程序中的一个 inputsplit
是如何工作的:
类似质量检查 - Simple explanation of MapReduce?
另外,post 以非常简单的方式解释了 Hadoop - HDFS 和 Mapreduce https://content.pivotal.io/blog/demystifying-apache-hadoop-in-5-pictures
我正在尝试了解 map-reduce 的实际工作原理。请阅读我在下面写的内容,并告诉我这里是否有任何遗漏或不正确的地方。 谢谢你。
首先将数据拆分为所谓的输入拆分(这是一种逻辑组,我们将其大小定义为记录处理的需要)。 然后,每个输入拆分都有一个映射器,它接受每个输入拆分并按键和值对其进行排序。 然后,有一个洗牌过程,它从映射器(键值)中获取所有数据,并将所有相同的键与其值合并(输出它是所有键及其值列表)。洗牌过程的发生是为了给缩减器一个 1 键的输入,用于每种类型的键及其总值。 然后,Reducer 将所有键值合并到一个地方(也许是页面?),这是 MapReduce 过程的最终结果。 我们只需要确保定义 Map(始终给出键值输出)和 Reduce(最终结果 - 获取输入键值,可以是计数、求和、平均值等)步骤代码。
你的理解有点错误,特别是映射器的工作原理。 我got a very nice pictorial image简单解释一下
它类似于wordcount
程序,其中
- 每捆巧克力都是
InputSplit
,由映射器处理。所以我们有 3 个包。 - 每块巧克力都是一个词。一个或多个单词(构成一个句子)是单个映射器的记录输入。所以,一个
inputsplit
内,可能有多个records
,每个record
输入到单个mapper
。 mapper
计算每个word
(巧克力)的出现次数并吐出计数。请注意,每个映射器仅处理一个line
(记录)。一旦完成,它就会从inputsplit
中选择下一个record
。 (图中的第 2 相)map
阶段完成后,sorting
和shuffling
开始计算bucket
相同的巧克力。 (图中的第 3 相)- 一个reducer得到一个
bucket
键为name of the chocolate
(或word
)和一个list计数。因此,在整个输入文件中,reducer 的数量与不同单词的数量一样多。 - reducer 遍历计数并将它们相加以产生最终计数并根据单词发出它。
下图显示了 wordcount
程序中的一个 inputsplit
是如何工作的:
类似质量检查 - Simple explanation of MapReduce?
另外,post 以非常简单的方式解释了 Hadoop - HDFS 和 Mapreduce https://content.pivotal.io/blog/demystifying-apache-hadoop-in-5-pictures