题目标题

请简述您对MAP-REDUCE这一编程模型的理解。

难度:高级

数据分析
参考解析

Hadoop包括分布式文件系统hdfs,和分布式计算框架,MapReduce是用于数据处理的一种编程模型,是hadoop的核心组件之一,可以通过mapreduce很容易在hadoop平台上进行分布式的计算编程。

MapRedeuce其处理过程主要分为两个步骤:

1、映射(Mapping)函数以Key/Value数据对作为输入,将输入数据经过业务逻辑计算产生若干仍旧以Key/Value形式表达的中间数。 MapReduce计算框架会自动将中间结果中具有相同Key值的记录聚合在一起,并将数据传送给Reduce函数内定义好的处理逻辑作为其输入值。

2、聚合(Reducing)函数接收到Map阶段传过来的某个Key值及其对应的若干Value值等中间数据,函数逻辑对这个Key对应的Value内容进行处理,一般是对其进行累加、过滤、转换等操作,生成Key/Value形式的结果,这就是最终的业务计算结果。