1. rdd分布式弹性数据集,简单的理解成⼀种数据结构,是spark框架上的通⽤货币。 所有算⼦都是基于rdd来执⾏的,不同的场景会有不同的rdd实现类,但是都可以进⾏互相转换。 rdd执⾏过程中会形成dag图,然后形成lineage保证容错性等。 从物理的⾓度来看rdd存储的是block和node之间的映射。
      2. RDD是spark提供的核⼼抽象,全称为弹性分布式数据集。
      3. RDD在逻辑上是⼀个hdfs⽂件,在抽象上是⼀种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在
      集群中的不同结点上,从⽽让RDD中的数据可以被并⾏操作(分布式数据集)⽐如有个RDD有90W数据,3个partition,则每个分区上有30W数据。RDD通常通过Hadoop上的⽂件,即HDFS或者HIVE表来创建,还可以通过应⽤程序中的集合来创建;
      4. RDD最重要的特性就是容错性,可以⾃动从节点失败中恢复过来。即如果某个结点上的RDD partition因为节点故障,导致数据丢失,那么RDD可以通过⾃⼰的数据来源重新计算该partition。这⼀切对使⽤者都是透明的RDD的数据默认存放在内存中,但是当内存资源不⾜时,spark会⾃动将RDD数据写⼊磁盘。⽐如某结点内存只能处理20W数据,那么这20W数据就会放⼊内存中计算,剩下10W放到磁盘中。RDD的弹性体现在于RDD上⾃动进⾏内存和磁盘之间权衡和切换的机制。