【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第2节:Spark架构设计(1)
一、到底什么是Spark?
Spark是一个通用的大数据计算平台,基于“One Stack to rule them all”的理念成功成为了一体化多元化的大数据处理平台,轻松应对大数据处理中的实时流计算、SQL交互式查询、机器学习和图计算等:
Spark源于BDAS:
基于该技术堆栈,Spark目前已经成为大数据通用计算平台:
二, Spark的速度为何如此之快?
首先我们看一下Hadoop经典的处理过程:
MapReduce在每次执行的时候都要从磁盘读数据,计算完毕后都要把数据存放到磁盘上:
而Spark是基于内存的:
另外一方面,DAG也是Spark快的极为重要的原因,下面是一张DAG图的示例:
大家也可以看一下网络上一张描述DAG更多细节的图片:
基于DAG,Spark具备了非常精致的作业调度系统:
DAG中的依赖有宽依赖和窄依赖之分:
在DAG图中可以根据依赖对pipeline等优化操作:
基于RDD和DAG,并行计算整个Job:
Spark之所以快,还有一个原因就是其容错机制,这个我们会在本讲的后面和大家分享。
posted on 2014-12-26 12:41 spark亚太研究院 阅读(213) 评论(0) 编辑 收藏 举报