Spark RDD

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

Dataset:(数据集)

  • RDD 可以不保存具体数据, 只保留创建自己的必备信息, 例如依赖和计算函数;
  • RDD 也可以缓存起来, 相当于存储具体数据。

Distributed****:

RDD 支持分区, 可以运行在集群中。

Resilient****:

  • RDD 支持高效的容错;
  • RDD 中的数据即可以缓存在内存中, 也可以缓存在磁盘中, 也可以缓存在外部存储中。

1.RDD的特点:

  • 弹性

    • 容错的弹性:数据丢失可以自动恢复;
    • 存储的弹性:内存与磁盘的自动切换;
    • 计算的弹性:计算出错重试机制;
    • 分片的弹性:可根据需要重新分片。
  • 分布式:数据存储在集群不同节点上/计算分布式。

  • 数据集: RDD封装了计算逻辑,并不保存数据。

  • 数据抽象: RDD是一个抽象类,需要子类具体实现。

  • 不可变: RDD封装了计算逻辑,是不可以改变的,想要改变,只能产生新的RDD,在新的RDD里面封装计算逻辑。

  • 可分区、并行计算。