从源码来看,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简介与特点 **RDD**(Resilient Distributed Dataset)是Apache Spark的核心概念之一,它代表一种只读的、可分区的分布式数据集。RDD具有高度的容错性,并能够透明地利用内存来提升性能。 ##### RDD的...
RDD简介 RDD创建方式 RDD的处理过程 转换算子 行动算子 RDD(Resilient Distributed Datasets弹性分布式数据集)是一个容错的、并行的数据结构,可以简单的把RDD理解成一个提供了许多操作接口的数据集合,和一般数据...
一、RDD简介 RDD(Resilient Distributed DataSet)是 Spark 中的核心概念,表示弹性分布式数据集。它是容错的、并行的数据结构,可以让用户将数据存储到磁盘和内存中,并且还能控制数据的分区。每个RDD都具有五大...
RDD简介 - **定义**:弹性分布式数据集(Resilient Distributed Datasets,简称RDD)是Spark中最基础的数据抽象,它代表一个只读的、分布式的对象集合。 - **特性**: - 分区性:RDD被分成多个分区,这些分区可以...
6. **README.md**: 这是一个标准的文档,通常包含项目简介、安装指南、使用方法、贡献规则等信息,帮助开发者理解和使用项目。 7. **Profile.template.php、Admin.template.php、Packages.template.php等**: 这些...
### Spark框架简介 #### 1. Spark是什么? Apache Spark是一个高度灵活且强大的集群计算框架,专为处理大规模数据集而设计。它不仅继承了Hadoop MapReduce的优点,还解决了后者的一些局限性,如高延迟问题及对中间...
Spark 提供了一种基于弹性分布式数据集(Resilient Distributed Datasets,简称 RDD)的编程模型,它允许用户在内存中保留数据,从而显著提升了数据处理的速度。RDD 是不可变的、分区的数据集合,可以在集群中的节点...
第一章 Spark简介与计算模型 3 1 What is Spark 3 2 Spark简介 3 3 Spark历史 4 4 BDAS生态系统 4 5 Spark与Hadoop的差异 5 6 Spark的适用场景 6 7 Spark成功案例 6 第二章 Spark开发环境搭建 8 1 Spark运行模式 8 2...
#### Spark简介 - **定义**:Spark是一个开源的大数据处理框架,能够提供高速的数据处理能力,适用于多种计算模式,包括批处理、实时流处理、机器学习等场景。 - **特点**: - 高性能:利用内存计算提高数据处理...
### Spark算子简介 在Apache Spark框架中,算子是用于对RDD(弹性分布式数据集)进行操作的基本方法。这些算子主要分为两大类:转换算子(Transformation)和行动算子(Action)。转换算子用于创建新的RDD,而行动...
**Redis 简介** Redis 由意大利开发者 Salvatore Sanfilippo 创建,它是一个基于键值对的数据存储系统,支持多种数据结构,如字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。Redis 的...
#### 二、Apache Spark简介 Apache Spark是一个统一的数据分析引擎,它提供了快速通用的数据处理能力。与传统的Hadoop MapReduce相比,Spark能够在内存中进行计算,大大提高了处理速度。此外,Spark支持多种编程...
6.1 Spark SQL简介 Spark SQL是Apache Spark的一个重要组件,它提供了对结构化数据的处理能力,允许用户使用SQL或者DataFrame API来查询数据。Spark SQL的设计目标是融合SQL和大数据处理,使得开发人员能够更加方便...
#### 一、Spark简介与应用场景 **1.1 Spark概述** - **定义**: Apache Spark 是一种高性能、通用的集群计算平台,主要用于处理大规模数据集。 - **适用场景**: 包括批处理、迭代算法、交互式查询、流处理等多种...
Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 Hive CLI 和 Beeline 命令行的基本使用 Hive 常用 DDL 操作 Hive 分区表和分桶表 Hive 视图和索引 Hive 常用 DML 操作 Hive 数据查询详解 三、Spark Spark Core :...
#### PySpark简介与基本操作 **PySpark**是Apache Spark的Python API接口,它使得开发人员能够在Python环境中利用Spark的强大功能处理大规模数据集。为了更好地理解和使用PySpark,下面将详细介绍PySpark的基本概念...
#### Apache Spark简介 Apache Spark是一款专为大规模数据处理而设计的高性能、通用的计算引擎。它的核心特点在于提供了强大的内存计算能力,从而显著提升了数据处理的速度。Spark最初采用Scala语言开发,因此与...
### Spark核心概念简介 #### Spark概述 Apache Spark是一款开源的大数据处理框架,它提供了一种高效、可伸缩的方式来处理大规模的数据集。Spark的核心特点包括内存计算能力、强大的API支持和丰富的功能模块。 ####...
### Storm与Spark简介 #### Storm框架详解 **Storm** 是一款强大的实时数据流处理系统,其设计目的是为了处理持续不断涌入的数据流,并将其处理后输出至数据库或其它系统。相较于 **Hadoop** 主要用于批处理,**...