加米谷大数据学习疑难点解答1:MapReduce是什么?可以做什么?

版权声明:本文为博主原创文章,转载请联系博主QQ929615448。 https://blog.csdn.net/jiamigu/article/details/82592722

原创: 加米谷大数据-曾老师  

      很多同学在学习大数据时或多或少都会遇到很多问题,以往的大数据教学过程中也有很多同学问我,什么是MapReduce?或者说MapReduce能够做什么?

      对于很多还没有接触或者刚刚了解MapReduce的同学,往往对它的概念还不是特别的清楚,那我今天就这个问题来为大家解答。

MapReduce并行计算思维讲解-视频版

https://v.qq.com/x/page/g0777ixkv5s.html

文字版

      首先,学习大数据的同学都知道Hadoop,它包含了三大组件,分别是:HDFS、MapReduce以及Yarn。其中MapReduce是一个分布式计算模型,由Map和Reduce组成,是不是觉得很抽象?它到底是一个什么样的模型?或者说它到底有什么用呢?

扫描二维码关注公众号,回复: 3571526 查看本文章

      我们来看这幅图:

      大家可以看到,最左边有很多的图形,三角形、正方形以及六边形,每一个图形都有相应的颜色,我们现在的需求是:计算颜色和形状都相同的每种图案的个数?我们如何用MapReduce来计算呢?

      通过这个图可以看到,MapReduce分为两个阶段:Map阶段,Reduce阶段,其中Map阶段为映射,Reduce阶段是规约。

      是不是觉得太专业了?没关系我换一种说法。

      我们把Map看作一个人,这个人只做一件事,就是数数,一个一个的去数图形的个数,比如说:蓝色三角形一个,黄色正方形一个... 那Reduce干什么呢?就是汇总相同颜色和形状的每种图案的个数。经过Reduce汇总后,就能得到我们想要的答案。

      我在举个例子:

      现在我有一大包的糖果,里面有大白兔奶糖、阿尔卑斯糖等很多种糖果,我如何得到每种糖果的个数?是不是需要人去数?

      按照刚才的思维,就是一个人数,另一个人汇总,但是一个人数很慢,可以两个人来数、三个人来数、四个人来数,来加快我数数的速度,那么假设现在两个人来数,那怎么数呢?

      我把这些糖果分为两份,每一份由一个人去数,每个人数完后再由汇总的人把两份结果汇总起来,就能得到我想要的结果。

     同理,如果觉得汇总速度慢,是不是也可以多个人汇总?比如说,有一百个人数完后,再由10个汇总的人来汇总他们数的结果,是不是就加快了我的汇总的速度?  

    那么在这个业务场景里,数数的人就是Map,汇总的人就是Reduce,我们利用MapReduce计算出了每种糖果的个数,而我增加Map,或者Reduce的个数,其实就是加快我计算出每种糖果个数的速度。

      这也是我今天想告诉大家的,这就是MapReduce中分布式/并行计算的思维。

     想听更多大数据学习中遇到的疑难点解答,请持续关注加米谷大数据。加米谷大数据中秋国庆双节同庆特惠学员,想要报名学习大数据的童鞋赶紧下手啦!

猜你喜欢

转载自blog.csdn.net/jiamigu/article/details/82592722