第6章 分布式计算框架MapReduce
*
知识点回顾
YARN产生背景
YARN在共享集群模式中的应用
YARN的基本架构
YARN的工作流程
YARN的资源调度器
*
本讲知识点
MapReduce概述
MapReduce处理过程
Combiner
Partioner
MapReduce的输入处理类
MapReduce的输出处理类
MapReduce综合案例
*
MapReduce概述
MapReduce是一种可用于数据处理的编程模型。该模型比较简单,将一个作业划分为map和reduce两个阶段。
map阶段主要是将大量的数据进行拆分,并进行并行处理(体现了分而治之的思想),此阶段处理的结果有可能是最终结果,如果不是最终结果,则再转入到reduce阶段。
reduce阶段的作用是将map的输出进行整合汇总,两个阶段互相配合,以可靠、容错的方式在集群上并行处理大量数据(TB级别的数据集)。
*
MapReduce概述
为何引入mapreduce?
海量数据的处理
集群运行的困难
业务逻辑与底层资源分配的隔离
*
MapReduce的处理过程
MapReduce的执行过程如下所示
*
MapReduce的处理过程
map
系统将数据拆分为若干个“分片”(split)
将分片数据以键-值方式传递给map进行处理
map方法对数据进行业务处理
将处理的数据写入到磁盘
reduce
通过多个复制线程去拉取不同map节点输出的数据文件
对这些数据文件进行排序和合并,然后传入reduce方法
reduce方法对数据进行业务处理
输入数据到文件系统(HDFS)
*
MapReduce入门案例
HADOOP_HOME/share/Hadoop/mapreduce/hadoop-mapreduce-examples-,其源码为HADOOP_HOME/share/Hadoop/mapreduce/sources/hadoop-mapreduce-examples--
WordCount示例的Mapper类源码如下
*
MapReduce入门案例
WordCount示例的Reducer类的源码如下
*
MapReduce入门案例
WordCount示例作业运行源码如下
*
第6章 分布式计算框架MapReduce 来自淘豆网m.daumloan.com转载请标明出处.