RDD特性:
1.RDD是spark提供的核心抽象,全称:Resillient Distributed Dataset,即弹性分布式数据集。
2.RDD在抽象上来说是一种元素集合,包含了数据。它是被分区的,氛围多个分区,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以并行操作(分布式数据集)
3.RDD通常通过Hadoop上的文件来创建。有时也可以通过应用程序中的集合赖床见。
4.RDD最重要的特性就是提供了容错性,可以从节点失败中恢复过来。即:如果某个节点的RDD partition因为节点故障导致数据丢失,那么RDD会自动通过自己的数据来源重新计算该partitin。
5.RDD的每个partition在spark节点上,默认都是放在内存中,但是如果内存中放不下这么多数据,多出来的数据,就会把partition中的部分数据写在磁盘上,进而保存。对于用户来说,并不知道RDD内存数据存储在哪里。RDD的这种自动进行内存和词牌之间的切换机制,就是RDD的弹性特点所在。
一个RDD在逻辑上抽象地代表了一个HDFS文件。但是实际上是呗分区的,氛围多个分区,多个分区散落在spark集群中,不同的节点上。
Spark核心编程是什么:
首先,定义初始的RDD,就是说,要定义订一个数据从哪里来。
第二:定义对RDD的计算操作,这个在spark里称为算子
第三:就是循环往复的过程第一次计算完成后,数据就会到了新的一批节点上,变成了新的RDD,然后再次反复,针对新的RDD定义算子操作。
第四:获得最终的数据,将数据保存起来。