spark的优点:
1,先进的大数据分布式编程和计算框架
2,试图替代HADOOP (SPARK 可以独立于HADOOP)
3,内存分布式计算:运行速度快
4,可以用不同的语言编写(java,scala,R,python)
5,可以从不同的数据源取数据(HDFS,HBase,Cassandra)
6,实现不同的大数据功能:Spark Core、Spark SQL、SparkStreaming,Spark MLIB 以及 GraphX
spark的运行模式:
1,批处理:用于大规模的分布式数据处理
2,流方式:spark流用于传送和处理实时数据
3,交互方式:常用于处理在内存中的大块数据.较低的延迟性
Spark可以独立于HADOOP单独运行
RDD的解释:
1,弹性分布式数据集分布在不同集群节点的内存中
2,rdd 可以理解是一大数组
3,数组 的每个元素是rdd的一个分区
4,rdd的每个分区是一个数据块
5,一个rdd可以分布并被运算在多台计算机节点的内存和硬盘中
6,rdd的数据块可以放在内存或者磁盘中
7,如果出现缓存失效或丢失,rdd的分区可以重新计算刷新
8,rdd本身是不可以被修改的,但是可以通过API被变换生成新的rdd
9,RDD的操作:变换(Transformations) (如:map, filter)和操作(Actions) (如:count, collect),
RDD有两种个类型:
并行集合(Parallelized Collections):来自于分布式化的数据对象比如PYTHON 中的list 对象.比如用户自己键入的数据。
文件系统数据集(如 Hadoop Datasets 或文本文件.比如通过SparkContext.textFile() 读取的数据。
DAG的解释:
1,有向无环图(DAG,Directed Acycle graph)的分布式并行计算框架
2,反应RDD之间的依赖关系
3,提供Cache机制来支持多次迭代计算或者数据共享以减少迭代计算之间读取数据局的开销
4,根据用户端对RDD的指令进行优化以减少系统开销