MapReduce计算模型

MapReduce(YARN)Hadoop提供的一种处理海量数据的并行编程模型和计算框架,用于对大规模的数据进行并行计算。主要由resourcemanagernodemanager两类节点构成。其中resourcemanager主要负责集群资源管理,nodemanager负责节点的资源管理。除此之外,当运行mapreduce任务的时候,会产生ApplicationMaster和Container,其中ApplicationMaster负责向resourcemanager节点进行资源的申请并控制任务的执行,Container是最基本的资源单位。MapReducemapreduce均是其之上进行运行的。

      MapReduce计算模型

MapReduce采用"分而治之"的思想,将对大规模的数据集的操作分配给各子节点进行操作,然后通过整合各子节点的中间结果,得到最终结果。简单来说就是任务的分解和结果的汇总Hadoop将这个工作高度抽象成为两个函数,分别为mapreducemap负责将任务分解为多个任务,reduce负责将多个map任务的中间结果合并为最终结果。至于在此过程中的其他步骤,均由hadoopMapReduce框架自行负责处理,包括工作调度、任务分配、各节点通信等。MapReduce计算过程如下:

     MapReduce计算模型

总的过程如下:

  MapReduce计算模型


MapReduce计算模型

MapReduce计算模型