Bootstrap

RDD简介

RDD概念

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,是spark core的底层核心,它代表一个不可变、可分区、里面的元素可并行计算的集合。

  • Dataset:就是一个集合,存储很多数据.
  • Distributed:它内部的元素进行了分布式存储,方便于后期进行分布式计算.
  • Resilient:表示弹性,rdd的数据是可以保存在内存或者是磁盘中.

RDD 五大属性

  1. A list of partitions
    RDD 是 一组Partition的列表。
    在Spark中任务是以task线程的方式运行,一个Partition就对应一个task线程。

  2. A function for computing each split
    Spark 中 RDD 的计算是以 Partition 为单位的,每个 RDD 都会实现compute()函数以达到这个目的。
    compute()函数会对迭代器进行复合,不需要保存每次计算的结果。

  3. A list of dependencies on other RDDs
    RDD之间存在依赖关系。
    由于 RDD 是只读的数据集,如果对 RDD 中的数据进行改动,就只能通过 Transformation 操作,由一个或多个 RDD 计算生成一个新的

;