一句话说,在Spark中对数据的操作其实就是对RDD的操作,而对RDD的操作不外乎创建、转换、调用求值。

什么是RDD

 

  RDD(Resilient Distributed Dataset),弹性分布式数据集。

  它定义了如何在集群的每个节点上操作数据的一系列命令,而不是指真实的数据,Spark通过RDD可以对每个节点的多个分区进行并行的数据操作。

  之所以称弹性,是因为其有高容错性。默认情况下,Spark会在每一次行动操作后进行RDD重计算,如想在多个行动操作中使用RDD,可以将其缓存(以分区的方式持久化)到集群中每台机器的内存或者磁盘中。当一台机器失效无法读取RDD数据时,可通过此特性重算丢掉的分区,从而恢复数据,此过程对用户透明。

  

如何创建RDD

 

  可通过以下几种方式创建RDD:

  • 通过读取外部数据集 (本地文件系统/HDFS/...)

  • 通过读取集合对象    (List/Set/...)

  • 通过已有的RDD生成新的RDD    

 

网友评论