Resilient Distributed Datasets (RDDs) 就是一个对分布式系统的内存抽象。
本质上是一个限制严格的共享内存模型,只提供粗粒度的 transformation 操作
迭代性质(iterative)的分布式计算需要有(高效的)对迭代间的数据复用的能力
因此虽然解决问题的可解性问题,但数据复用依然是这类计算的性能瓶颈:大量的资源损耗在过于频繁的 I/O 上。
有一些工作试图解决这些问题,但是都只能支持特定的计算模式,不够通用。
主要的挑战是在计算的细粒度和通用性与容错性三者之间的取舍
RDD 提供了一套对于分布式计算集群的内存抽象,很大程度上解决了上述问题,而其做法是舍弃了三者之间相对最不重要的一点:计算的粒度。
RDD 的性质:
RDD 支持的操作: