大数据技术原理——MapReduce

Hadoop框架的两大核心为:HDFS和MapReduce。

HDFS是将数据以数据块为单位进行存储。
MapRduce包含Map和Reduce两个函数,适合用于批处理、非实时,以及数据密集型的情况。

下面对MapRduce进行简介:
最简单的理解mapreduce的例子是做蔬菜沙拉;
再举一个具体的例子就是:


图片发自简书App

接下来主要从三个方面进行介绍:策略、理念、架构

(1)策略
使用Hadoop框架和MapRduce肯定是大规模的数据集处理,数据动则几个TB、几十TB,如果只有几百M的数据,根本用不着MapRduce。

通常处理过程是:将数据集—(split)—>小分片——>对每个小分片单独启动Map任务,每个Map里面都有用户编写的对数据处理的逻辑。有多少个分片就有多少个Map,这样多个Map并行运行。理想的情况是把一个HDFS数据块的大小作为一个分片,大约64M或128M。

(2)理念
Hadoop的理念是“计算向数据靠拢”,寻找数据块最近的map结点进行计算,而不是将数据运输到计算结点增大资源消耗。

(3)架构

1.png

每个task 中将slot分为map slot和reduce slot。


2.png

Shuffle过程是理解MapReduce的核心,一个shuffle过程包括一个map任务和一个reduce任务。


3.png
4.png
5.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容