美文网首页大数据学习
成都大数据学习疑难点1:怎么理解MapReduce?

成都大数据学习疑难点1:怎么理解MapReduce?

作者: f46294cfe85d | 来源:发表于2018-09-10 17:10 被阅读5次

    原创: 曾老师  加米谷学院 

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

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

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

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

    文字版

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

          我们来看这幅图:

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

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

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

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

          我在举个例子:

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

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

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

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

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

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

         想听更多大数据学习中遇到的疑难点解答,请持续关注加米谷大数据。

    加米谷大数据中秋国庆双节同庆特惠学员

          加米谷大数据,想要报名学习大数据的童鞋赶紧下手啦!

    相关文章

      网友评论

        本文标题:成都大数据学习疑难点1:怎么理解MapReduce?

        本文链接:https://www.haomeiwen.com/subject/dsasgftx.html