Spark之MapReduce原理
Posted 哈哈丶Stupid
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark之MapReduce原理相关的知识,希望对你有一定的参考价值。
参考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原理的主要内容,如果未能解决你的问题,请参考以下文章
Spark Streaming性能测试有啥好的benchmark吗