RDD
Resilient Distributed DataSet:弹性分布式数据集
弹性:Spark可以通过重新安排计算来自动重建丢失的分区。
分布式:集群中跨多个机器分区存储。
RDD是一个基本的抽象,操作RDD就像操作一个本地集合一样,降低了编程的复杂度。
RDD不存储真正要计算的数据,而是记录了RDD的转换关系(调用了什么方法,传入了什么函数)。
一、RDD的五大特性
1.RDD是由一系列的partition(分区)组成的。
2.算子是作用在每一个partition(分区)上的。
3.RDD之间有依赖关系。(一级,不是继承)
4.分区器是作用在K,V格式的RDD上。
5.RDD提供一系列最佳的计算位置列表(例如,对于一个HDFS文件,这个列表就是每个文件所在的节点)。
二、创建RDD的方式有哪些
1.通过读取外部的存储系统创建RDD。
2.将Driver端的本地集合通过并行化的方式变成RDD(仅在实验、测试时使用)。
3.调用一个已经存在的RDD的Transformation算子,会生成一个新的RDD。