大数据
MapReduce 主要内容 ① MapReduce概述 1.1 MapReduce定义 1.2 优缺点 优点: 缺点: 1.3 MR核心编程思想 MR进程: ② MR框架原理 2.1 MapReduce工作流程 Map Task工作机制: 具体过程: Read阶段 :从文本中一行一行的读取数据,并返回一个个的k,v数据,并将数据交给map函数处理; Map阶段 :用map函数处理读取到的k,v数据,并得到新的k,v数据; Collect收集阶段 :将map函数处理的结果存储到环形内存缓存区中; Spill溢写阶段 :当环形缓存区达到阈值时,就会将数据溢写到磁盘上。溢写前要对数据进行排序、合并等操作;(溢写阶段详情见文档) Combine合并阶段 :当所有数据处理完以后,对磁盘上的所有数据进行一次归并排序,合并成一个文件;(详情见文档) Reduce Task工作机制: 具体流程: Copy阶段 :当Map Task任务结束以后,Reduce Task从各个Map Task上去拷贝数据,放到内存或者磁盘中; Merge阶段 :对内存和磁盘上拷贝过来的数据进行合并,防止内存和磁盘被占用过多; Sort 阶段: 和Merge阶段一起工作,在合并的同时使用归并排序进行排序; Reduce 阶段 : reduce() 函数将计算结果写到 HDFS 上。 MR整体流程图: 2.2