定义:spark是一个快速的,通用的分析大数据处理引擎。
DAG(有向无环图):在图论中,如果一个有向图无法从任意顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。
因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。
DAG可用于对数学和 计算机科学中得一些不同种类的结构进行建模。
由于受制于某些任务必须比另一些任务较早执行的限制,必须排序为一个队 列的任务集合可以由一个DAG图来呈现,其中每个顶点表示一个任务,每条边表示一种限制约束,拓扑排序算法可以用来生成一个有效的序列。
DAG也可以用来模拟信息沿着一个一 致性的方向通过处理器网络的过程。
DAG中得可达性关系构成了一个局 部顺序,任何有限的局部顺序可以由DAG使用可达性来呈现。
此外,DAG的可作为一个序列集合的高效利用空间的重叠的子序列的代表性。
相对应的概念,无向图是一个森林,无环的无向图。
选择森林的一个方向,产生了一种特殊的有向无环图称为polytree 。
不过,也有其他种类的向无环图,它们不是由面向无向无环图的边构成的。
出于这个原因,称其为有向无环图比无环有向图或者无环图更确切。
spark 与mapreduce比较优势:
spark计算速度在内存中比mp快近100X,在dist中近10X
spark支持链式编程
spark一站式部署,无需在部署其他插件。
![](http://dl2.iteye.com/upload/attachment/0113/0013/28c410e3-4190-332c-aadf-e7b933fbd1c9.jpg)
基本原理方面:
mapreduce:基于磁盘的大数据批量处理系统
spark:基于rdd(弹性分布式数据集)数据处理,显式的讲RDD数据存储到内存和磁盘中
模型上:
mapreduce处理超大规模数据,运行周期长,迭代较少,适合数据挖掘
spark:适合多轮迭代
容错方面:
spark的子rdd出现错误,会给予spark linage 去执行父节点的rdd重新获取数据。
![](http://dl2.iteye.com/upload/attachment/0113/0017/905c4976-e347-31d3-8d1f-efa57fe90190.jpg)