大数据项目-5.hadoop(三:map-reduce)

一:为什么学习map-reduce?

在我们大数据领域,主要研究俩块内容。一块为存储,另外一块为计算。
在存储中我们使用hdfs,并且,hdfs在改良了三个版本之后,目前市面上基本都是由hdfs进行数据存储。
在计算领域,hadoop也有自己的产品。
map-reduce就是hadoop计算的核心框架。

二:什么是map-reduce?

  1. 整体框架。
    大数据项目-5.hadoop(三:map-reduce)_第1张图片

  2. 细分流程。
    大数据项目-5.hadoop(三:map-reduce)_第2张图片
    map

    1. 我们的数据存储在hdfs的block中,首先将数据取出来,对原始数据进行切分(可能是原始数据的几分之几,也可能是几倍),将数据存放在Split当中,每一个Split就是一个map。
    2. 在map端采集到数据,我们在map里面先进行数据的一些预处理,能有效减少在reduce的处理数据。所以,我们在map中要有一个预聚合的操作。但是这个有的问题,我们采集进来数据,之后进行聚合,最后输出。在聚合的时候,不能采集。会浪费时间。所以,出现了一个环形缓冲区。
    3. 在环形缓存区中,数据采集到80%,之后开始分区排序,另外的百分之二十继续进行采集。这样就不会浪费时间,当环形缓存区满了的时候,就会进行溢出。

    reduce
    大数据项目-5.hadoop(三:map-reduce)_第3张图片

    1. 将提前排好序的map,按照相同的key进行聚合。(根据key-value进行聚合)

三:怎么使用map-reduce?

在我们hive的底层使用的是map-reduce引擎。

你可能感兴趣的:(大数据项目,map-reduce,大数据,hadoop)