1.RDD定义:弹性分布式数据集,是spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合

2.RDD五大特性

    A list of partitions:RDD是有分区的
    A function for computing each split:计算方法会做用到每一个分片(分区)之上
    A list of dependencies on other RDDs:RDD之间是有相互依赖关系的
    Optionally,a pqrtitioner for key-value RDDs(e.g. to say that the RDD is hash-partitioned):kv型RDD可以有分区器
    Optionally ,a list of preferred location to compute each split on (e.g. block location for an HDFS file ):RDD分区数据的读取会尽量靠近数据所在地

3.A list of partitions:RDD是有分区的

rdd的分区时rdd数据存储的最小单位

一份rdd数据,本质上时分隔成了多个分区

4.A function for computing each split:计算方法会做用到每一个分片(分区)之上

5.Optionally,a pqrtitioner for key-value RDDs(e.g. to say that the RDD is hash-partitioned):kv型RDD可以有分区器

默认分区器:hash分区规则,可以手动设置一个分区器

key-value rdd:rdd中国存储的时二元元组,这就是key-value型rdd

二元元组:只有两个元素的元组

6.如何正确理解rdd

弹性分布式数据集,分布式计算的实现载体