1. 什么是RDD
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。
代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。
RDD类比工厂生产。
2. RDD五大特性
3. RDD的创建
3.1 内存中(集合)创建RDD
object Spark01_RDD_Memory {
def main(args: Array[String]): Unit = {
// TODO 准备环境
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
val sc = new SparkContext(sparkConf)
// 从内存中创建RDD,将内存中集合的数据作为处理的数据源
// val rdd = sc.makeRDD(List(1, 2, 3, 4))
// makeRDD方法第二个参数不写默认的是,分区个数=cpu的核数
// 如果给了第二个参数,即rdd有两个分区
val rdd = sc.makeRDD(List(1, 2, 3, 4), 2)
// 将分区信息保存在datas文件夹下
rdd.saveAsTextFile("datas")
// 关闭环境
sc.stop()
}
}
// datas下的文件分区信息
3.2 从外部存储系统的数据集创建
由外部存储系统的数据集创建RDD包括:本地的文件系统,还有所有Hadoop支持的数据集,比如HDFS、HBase等。