mapreduce原理

1、简介:mapreduce源⾃google的⼀篇⽂章,将海量数据处理的过程拆分为map和reduce。mapreduce 成为了最早的分布式计算框
架,这样即使不懂的分布式计算框架的内部运⾏机制的⽤户,也可以利⽤分布式的计算框架实现分布式的计算,并在hadoop上⾯运⾏。

 


2、设计思想:
hadoop ⽂件系统 ,提供了⼀个分布式的⽂件系统,但是hadoop⽂件系统读写的操作都涉及到⼤量的⽹络的操作,并不能很好
的完成实时性⽐较强的任务。
但是hadoop可以给上⾯的应⽤提供⼀个很好的⽀持。⽐如hadoop⽂件系统上⾯可以运⾏mapreduce。mapreduce是⼀个计算的
框架,mapreduce是⼀个分布式的计算框架,这样mapreduce利⽤分布式的⽂件系统,将不同的机器上完成不同的计算,然后就计算结果
返回。这样很好的利⽤了分布式的⽂件系统。
数据分布式的存储,然后计算的时候,分布式的计算,然后将结果返回。这样的好处就是不会涉及到⼤量的⽹络传输数据。

 


3、优点:mapreduce的计算框架的优点是,极强的扩展能⼒,可以在数千台机器上并发的执⾏。其次,有很好的容错性,另外,就
是向上的接⼝简洁。⽤户只需要写map和reduce函数,即可完成⼤规模数据的并⾏处理。

 


4、缺点:mapreduce并不适合对实时性要求⽐较⾼的场景,⽐如交互式查询或者是流式计算。另外,也不适合迭代类的计算(⽐如
机器学习类的应⽤)。
1、mapreduce的启动时间⽐较长,对于批处理的任务,这个问题并不算⼤。但是对于实时性⽐较⾼的任务,其启动时间长的缺点就很
不合适了。
2、mapreduce⼀次执⾏的过程⾥⾯,往往涉及到多出磁盘读写,以及⽹络的传输。对于迭代的任务,这样很好的开销需要很多次,明
显降低了效率。
3、⽽Storm和Spark,⼀个是流式计算的框架,⼀个是机器学习的框架。他们更适合解决这类型的任务。

posted @ 2022-08-02 08:13  开源遗迹  阅读(101)  评论(0)    收藏  举报