07 | 为什么说MapReduce既是编程模型又是计算框架?

以前的分布式计算都是专用的系统,只能专门处理某一类计算,比如进行大规模数据的排序。很显然,这样的系统无法复用到其他的大数据计算场景,每一种应用都需要开发与维护专门的系统。而 Hadoop MapReduce 的出现,使得大数据计算通用编程成为可能·。

 

MapReduce 既是一个编程模型,又是一个计算框架。也就是说,开发人员必须基于 MapReduce 编程模型进行编程开发,然后将程序通过 MapReduce 计算框架分发到 Hadoop 集群中运行。我们先看一下作为编程模型的 MapReduce。

编程模型:当面对一个新问题时,通常的想法是通过分析,不断的转化和转换,得到本质相同的熟悉的、或抽象的、简单的一个问题,这就是化归思想。把初始的问题或对象称为原型,把化归后的相对定型的模拟化或理想化的对象称为模型。
编程模型,简单地可以理解它就是模板,遇到相似问题就可以方便依模板解决,这样就简化了编程问题。不同的编程环境和不同的应用对象有不同的编程模型。

 

 

 

 

所以,当我们说 MapReduce 的时候,可能指编程模型,也就是一个 MapReduce 程序;也可能是指计算框架,调度执行大数据的分布式计算。

 

posted on 2019-05-04 16:08  wzc521  阅读(209)  评论(0)    收藏  举报

导航