Hadoop-MapReduce+HDFS文件格式和压缩格式+split和Maptask关系+WordCount剖析+shuffle理解
一. MapReduce on Yarn流程 1. 什么是MapReduce MapReduce是一个计算框架,核心思想是"分而治之",表现形式是有个输入(input),mapreduce操作这个输入(input),通过本身定义好的计算模型,得到一个输出(output),这个输出就是我们所需要的结果。在运行一个mapreduce计算任务时候,任务过程被分为两个阶段:map阶段和reduce阶段,每个阶段都是用键值对(key/value)作为输入(input)和输出(output)。而程序员要做的就是定义好这两个阶段的函数:map函数和reduce函数。 Map:映射过程,把一组数据按照某种Map函数映射成新的数据。每一行解析成一个 <k,v> 键值对。每一个键值对调用一次map函数,生成一个新的 <k,v> 键值对 Shuffle:洗牌,对数据映射的排序、分组、拷贝。 Reduce:归约过程,把若干组映射结果进行汇总并输出。 2. Yarn的作用 Yarn:ResourceManager,NodeManager RM:application Manager 应用程序管理器 resource scheduler 资源memory+cpu调度器 ResourceManager :负责资源管理。在运行过程中,整个系统有且只有一个RM,系统的资源由RM来负责调度管理