参考http://www.cnblogs.com/wuyudong/p/mapreduce-principle.html

MapReduce

 

我们来拆开看:

Mapping(映射)对集合里的每个目标应用同一个操作。

Reducing(化简)遍历集合中的元素来返回一个综合的结果。

主体思路是通过分散计算来分析大量数据。

1.大数据的并行化计算:

并行计算需要考虑如何划分计算任务或者计算数据以便对划分的子任务或数据块同时进行计算。但是,前后数据之间存在很强的依赖关系,只能串行计算。

一个大数据如果可以分为具有同样计算过程的数据块,并且这些数据块之间不存在数据依赖关系,则提高处理速度的最好办法就是并行计算。

2.主要特征与设计思想

(1)向‘外’横向扩展,而非向“上”纵向扩展,scala "out",not"up"

(2)失效被认为是常态,Assume failures are common

(3)把处理向数据迁移,Moving processing to the data

(4)顺序处理数据、避免随机访问数据,Process data sequentially and avoid random access

MapReduce设计为面向大数据集批处理的并行计算系统,所有计算都被组织成很长的流式操作,以便能利用分布在集群中大量节点上磁盘集合的高传输带宽。

(5)为应用开发者隐藏系统层细节,Hide system-level details from the application developer

(6)平滑无缝的可扩展性,Seamless scalability 。 数据扩展和系统规模扩展。

Spark之MapReduce原理的更多相关文章

  1. Spark生态以及原理

    spark 生态及运行原理 Spark 特点 运行速度快 => Spark拥有DAG执行引擎,支持在内存中对数据进行迭代计算.官方提供的数据表明,如果数据由磁盘读取,速度是Hadoop MapR ...

  2. Spark 以及 spark streaming 核心原理及实践

    收录待用,修改转载已取得腾讯云授权 作者 | 蒋专 蒋专,现CDG事业群社交与效果广告部微信广告中心业务逻辑组员工,负责广告系统后台开发,2012年上海同济大学软件学院本科毕业,曾在百度凤巢工作三年, ...

  3. [Hadoop]浅谈MapReduce原理及执行流程

    MapReduce MapReduce原理非常重要,hive与spark都是基于MR原理 MapReduce采用多进程,方便对每个任务资源控制和调配,但是进程消耗更多的启动时间,因此MR时效性不高.适 ...

  4. 46、Spark SQL工作原理剖析以及性能优化

    一.工作原理剖析 1.图解 二.性能优化 1.设置Shuffle过程中的并行度:spark.sql.shuffle.partitions(SQLContext.setConf()) 2.在Hive数据 ...

  5. 带你了解极具弹性的Spark架构的原理

    摘要:相比MapReduce僵化的Map与Reduce分阶段计算相比,Spark的计算框架更加富有弹性和灵活性,运行性能更佳. 本文分享自华为云社区<Spark架构原理>,作者:JavaE ...

  6. 04 MapReduce原理介绍

    大数据实战(上) # MapReduce原理介绍 大纲: * Mapreduce介绍 * MapReduce2运行原理 * shuffle及排序    定义 * Mapreduce 最早是由googl ...

  7. 大数据运算模型 MapReduce 原理

    大数据运算模型 MapReduce 原理 2016-01-24 杜亦舒 MapReduce 是一个大数据集合的并行运算模型,由google提出,现在流行的hadoop中也使用了MapReduce作为计 ...

  8. MapReduce原理及其主要实现平台分析

    原文:http://www.infotech.ac.cn/article/2012/1003-3513-28-2-60.html MapReduce原理及其主要实现平台分析 亢丽芸, 王效岳, 白如江 ...

  9. Hapoop原理及MapReduce原理分析

    Hapoop原理 Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:MapReduce和HDFS.基于 Hadoop,你可以轻松地编写可处理海量数据的分布式并行程序 ...

随机推荐

  1. Weave Scope 容器地图 - 每天5分钟玩转 Docker 容器技术(80)

    Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解.监控和控制容器.千言万语不及一张图,先感受一下. 下面开始实践 Weave Scope. 安装 执行如 ...

  2. eclipse+fileSyncPlugin+svn+jenkins+tomcat

    实现一个想法,把项目部署在linux服务器上,在本地的eclipse代码更新后,通过svn+jenkins自动同步到服务器, 然后通过eclipse远程debug项目.这样是不是就解决了在本地跑项目, ...

  3. LINUX 笔记-top命令

    top命令经常用来监控linux的系统状况,比如cpu.内存的使用. top - :: up day, :, users, load average: 0.00, 0.01, 0.00 Tasks: ...

  4. Python 的装饰器

    Python 在语言级别提供了装饰器模式的实现,代码中Python内置的 functools.wraps 会完成包括函数名属性处理替换 #!/usr/bin/env python3 #--coding ...

  5. 使用脚本监控windows服务的方法

    以下脚本可监控某一个windows服务,发现其停止就立即重启之. @echo off rem 定义循环间隔时间和监测的服务: set secs=60 set srvname="NetWin ...

  6. css3中“渐变”兼容性解决方案

    这次是简单的谈一下我们常见的渐变在各个浏览器下的兼容性问题,算一个比较简单的问题. 我们熟知的浏览器有Chrome.Firefox.Opera.Safari以及ie系列.最基础的background: ...

  7. awake()和start()还有update(),fixedupdate()的差别

    1.首先看一下untiy官方对awake()和start()的定义 awake()和start()函数会在脚本加载后自动调用,awake()会先被调用,即使脚本未被调用.最好用来设置脚本之间的引用和初 ...

  8. 阿里云ubuntu安装jdk8+mysql+tomcat

    Mysql安装 使用apt-get安装 apt-get install mysql-server apt-get install mysql-client apt-get install libmys ...

  9. angularJs 个人初探笔记

    1.环境搭建与angular - phoneCat 安装可以通过git clone来下载源代码: git clone --depth=14 https://github.com/angular/ang ...

  10. 重温C语言小感

    这周对我感触比较大的就是重温了下C语言,当然重点还是放到了指针那块,一看到指针就想到了链表,还有那个 指针申明,“函数指针”,“指针函数”, “使用指针实现数组降维数”,还有就是大学初学编程的点滴. ...