当前位置:   article > 正文

大数据计算(hdu)第五章笔记_一个reduce任务对应一个split

一个reduce任务对应一个split

5.1 MapReduce概述

5.1.1 MapReduce的来源

MapReduce(最早由谷歌提出)是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:

1. MapReduce是一个并行程序的计算模型与方法。

2. MapReduce是一个并行计算与运行的软件框架。

3. MapReduce是一个基于集群的高性能并行计算平台。


5.1.2 MapReduce设计思想

1. 分而治之

MapReduce 采用“分而治之”的设计思想,即采用一定的数据划分方法将大规模数据集切分成许多独立的分片,然后将这些分片交由多个节点去并行处理,最后汇总处理结果。

2. 抽象成模型

MapReduce 借鉴了函数式编程的设计思想以及矢量编程语言的特性,将数据处理过程高度抽象为Map 函数和Reduce 函数。

3. 上升到架构

MapReduce 以统一计算架构为程序员隐藏系统底层细节。使用MapReduce 时,程序员只需要集中于应用问题和算法本身,不需要关注其他系统层的处理细节,这大大减轻了程序员开发程序的负担。


5.1.3 MapReduce的优缺点

1. MapReduce的优点

l 易于编程

l 良好的扩展性:当计算机资源不能得到满足的时候,可以通过简单地增加机器来扩展它的计算能力。

l 高容错性:MapReduce集群中有一台机器宕机了,它可以把上面的计算任务转移到集群的另一台机器上运行,不至于让这个任务运行失败。

2. MapReduce的缺点

l 不适合实时计算:MapReduce的启动时间长,且涉及多次磁盘读写和网格传输,因此它不适合数据的实时在线处理。

l 不适合流式计算:流式计算的输入数据是动态的,而MapReduce自身的设计特点决定了其输入数据集必须是静态的。

l 不适合DAG(有向无环图)计算:MapReduce 作业的输出结果都必须写入磁盘,DAG中的依赖关系会造成大量的磁盘I/O 消耗,从而大大降低整体性能。


5.1.4 MapReduce模型介绍

 


5.2 MapReduce工作流程

5.2.1 MapReduce基本架构

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/958825
推荐阅读
相关标签