欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RDD简介

程序员文章站 2024-01-18 10:50:40
...
    从源码来看,RDD是被定义为了一个抽象基类,里面定义了像compute(计算分区),getPartitions(获取分片),getDependencies(获取依赖)等抽象函数及一系列基本函数(catch,persist,checkpointRDD)。然后具体的像 jdbcRDD, HadoopRDD, ShuffleRDD 等都继承自RDD并有份自己的实现。

  RDD的主要属性有以下部分组成:
   一组分片
   一个计算分区的函数
   RDD之间的依赖关系----------------->实现自动容错
   一个分区函数
   一个列表,一个分区优先位置-------------------->位置感知(本地化)

   RDD的弹性表现
   1、弹性之一:自动的进行内存和磁盘数据存储的切换;
   2、弹性之二:基于Lineage的高效容错(第n个节点出错,会从第n-1个节点恢复,血统容 错);
   3、弹性之三:Task如果失败会自动进行特定次数的重试(默认4次);
   4、弹性之四:Stage如果失败会自动进行特定次数的重试(可以只运行计算失败的阶段);只计算失败的数据分片;

相关标签: RDD Spark