RDD与DataFrame:原理、区别及操作详解
发布时间
阅读量:
阅读量
1. RDD原理及操作
RDD (Resilient Distributed Dataset),被称为一种只读式的分布式数据集。这种数据集的部分或全部可以在内存中存储,在不同计算期间重复利用。该系统由多个分片(partitions)组成,并且每个分片包含大量记录(records)。每个RDD都具备五个主要特性:
- dependencies: 定义了RDD之间的关联关系。
- partition: 将每个RDD划分为多个子集,并根据子集规模来确定计算粒度,在独立的任务中分别完成这些子集的处理工作。
- preferedlocations: 遵循"移动数据不如移动计算"的原则,在Spark的任务调度机制中,默认会将任务优先分配给这些数据块所在的存储位置。
- compute: 在Spark框架下,默认是以每个子集(即 RDD的一个分区)为最小单位来进行数据处理操作;该操作过程不会保存中间结果以提高效率。
- partitioner: 这一功能仅存在于具备键值对(K,V)特征的数据集中;对于不具备这种特征的数据类型,则直接返回None表示无对应操作可执行。
在Spark程序中,默认情况下所有的数据处理操作都是惰性执行的模式。具体来说,在这种模式下有两种主要的操作:一个是action算子操作(action operator),另一个是transformati
全部评论 (0)
还没有任何评论哟~
