RDD概念
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,是spark core的底层核心,它代表一个不可变、可分区、里面的元素可并行计算的集合。
- Dataset:就是一个集合,存储很多数据.
- Distributed:它内部的元素进行了分布式存储,方便于后期进行分布式计算.
- Resilient:表示弹性,rdd的数据是可以保存在内存或者是磁盘中.
RDD 五大属性
-
A list of partitions
RDD 是 一组Partition的列表。
在Spark中任务是以task线程的方式运行,一个Partition就对应一个task线程。 -
A function for computing each split
Spark 中 RDD 的计算是以 Partition 为单位的,每个 RDD 都会实现compute()函数以达到这个目的。
compute()函数会对迭代器进行复合,不需要保存每次计算的结果。 -
A list of dependencies on other RDDs
RDD之间存在依赖关系。
由于 RDD 是只读的数据集,如果对 RDD 中的数据进行改动,就只能通过 Transformation 操作,由一个或多个 RDD 计算生成一个新的

RDD是Spark的核心数据结构,表示分布式、不可变的元素集合。RDD具备五大属性:分区列表、计算函数、依赖关系、分区器和优先位置。RDD的计算基于惰性求值,通过Transformation和Action算子实现。Transformation创建新的RDD而不立即计算,Action触发计算。RDD的依赖关系分为窄依赖和宽依赖,影响Stage划分。此外,RDD还支持检查点和优化的计算策略。
最低0.47元/天 解锁文章
2788

被折叠的 条评论
为什么被折叠?



