首页 > 代码库 > 【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第3节②

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

三,深入RDD

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

技术分享

RDD都会基于Partition进行计算:

技术分享

 

默认的Partitioner如下所示:

技术分享

其中HashPartitioner的文档说明如下:

技术分享

另外一种常用的Partitioner是RangePartitioner:

技术分享

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

技术分享

Spark提供很多StorageLevel可供选择:

技术分享

 

于此同时Spark提供了unpersistRDD:

技术分享

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

技术分享

其中doCheckpoint的细节如下:

技术分享

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

技术分享

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

技术分享

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

技术分享

 

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