【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第3节:Spark架构设计(2)

三,深入RDD

 

RDD本身是一个抽象类,具有很多具体的实现子类:

 

RDD都会基于Partition进行计算:

 

默认的Partitioner如下所示:

其中HashPartitioner的文档说明如下:

另外一种常用的Partitioner是RangePartitioner:

RDD在持久化的需要考虑内存策略:

Spark提供很多StorageLevel可供选择:

于此同时Spark提供了unpersistRDD:

对RDD本身还有一个非常重要的CheckPoint操作:

其中doCheckpoint的细节如下:

NewHadoopRDD为例,其内部的信息如下所示:

WholeTextFileRDD为例,其内部的信息如下所示:

RDD在产生作业调用的时候,经典的过程如下所示:

原文地址:https://www.cnblogs.com/spark-china/p/4186528.html