【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之所以快,还有一个原因就是其容错机制,这个我们会在本讲的后面和大家分享。

原文地址:https://www.cnblogs.com/spark-china/p/4186490.html