Spark
spark出现的契机:
Hadoop设计中在进行数据计算的时候要进行频繁的数据落地,因此出现磁盘IO瓶颈,在这种情况下,内存计算应运而生,spark的优势就是内存计算,在牺牲一部分内存的情况下,提高的效率是非常合算的
1. Spark的特点:
- 他是由scale编写,底层基于actor的模式akka框架,代码简洁
- 基于DAG(有向无环图)的执行引擎,减少了计算时频繁将数据写入到磁盘中,降低磁盘IO
- 同时建立在RDD(弹性分布式数据集)上,可以以一致的结构应对不同的大数据处理请求
- RDD(弹性分布式数据集,Resilient Distributed Dataset)是spark处理数据的基础,和统一的数据结构,本质上是一种分布式数据结构
- 提供Cache机制来实现数据缓冲进一步提升性能
- Spark的生态圈也越来越丰富
- 支持多种语言Java、Python、Scala、R
- 同时兼容HDFS作为存储结构,可以使用YARN作为协调框架
2. RDD(弹性分布式数据集)
RDD,是Spark的核心抽象,表示用于并行计算,不可修改,对数据集合进行分区的分布式数据结构。不同来源的数据都可以经过变换变为RDD再进行Spark处理
RDD数据集全部或者部分缓冲到内存中,多次计