MapReduce总结

MapReduce总结

  • MapReduce简介
    • 1)作用
    • 2) 基本模型构成
      • map
      • reduce
    • 3)运行原理
      • 大数据处理
      • 实现
    • 4)流程
    • 1、Split阶段(分片输入)
    • 2、Map阶段
    • 3、Shuffle阶段
    • 4、Reduce阶段

MapReduce简介

1)作用

在目前世界数据总量飞速增长的大数据环境下,由于硬件限制,单个高性能计算机往往无法胜任处理工作,需要用高性能集群计算机, 将计算任务分布在成 百上千的机器上,以便在合理的时间内完成。对此需要一个适用 于计算机集群的编程模型—MapReduce。 MapReduce提供了一个接口,实现大规 模计算的自动并行化和分布。

2) 基本模型构成

MapReduce的计算主要由map和reduce两部分组成

map

Map函数是由用户编写的映射函数,对每一条数据进行特定处理映射到一个新的中间值,对分配到的数据集进行相同的映射处理,得到一系列的中间值集

reduce

Reduce函数也是由用户编写的处理函数,对map处理得出的一列中间值进行处理,合并操作,得到更小的集合。

3)运行原理

大数据处理

分而治之:对相互之间不具有计算依赖关系的大数据,实现并行最自然的办法就是采取分而治之的策略。将庞大的大数据计算任务切分为大量的小子任务,这样不仅解决了大数据问题太大无法存在内存的问题,而且解决流式数据非同时处理的问题

实现

对于流式的大数据问题,大部分数据往往是大量且无关,并且都进行重复的处理。所以可以使用map部份的特点进行处理。
而reduce是收集所有中间结果和产生最终输出。两者结合抽象构成大数据对于流式的大数据问题,大部分数据往往是大量且无关,并且都进行重复的处理。所以可以使用map部份的特点进行处理。而reduce是收集所有中间结果和产生最终输出。两者结合抽象构成,提高不同map和reduce的组合解决了大部分大数据问题。
每个计算机节点可能对应只运行一个或少数几个map或reduce。通过高速网络传输通信的方式,进行数据的处理。并将结果汇总结合达到处理大量大数据问题的目的

4)流程

MapReduce总结_第1张图片

1、Split阶段(分片输入)

大数据问题的数据,这些数据往往庞大到无法存入内存的。所以要对数据进行切片,切入到合适的大小的数据块进行后续处理

2、Map阶段

将上一个得到的数据块读入到map中,进行处理和映射。每一个数据块代表一个map任务。输出的结果往往是的格式。

3、Shuffle阶段

该阶段是将map处理的数据传输到reduce中,这其中涉及了网络传输的内容。包括各种数据检测,网络丢失的处理。

4、Reduce阶段

此阶段就是将各map任务处理得出的数据进行总的统合和输出,最后得出我们想要的结果

你可能感兴趣的:(mapreduce,云计算,大数据)