MapReduce 非常成功,然而这些围绕无环图建立的系统大多不通用,这时候 Spark 横空出世,通过一种名叫 RDD 的分布式数据结构,提出了一种可以支持:

those that reuse a working set of data across multiple parallel operations.

的分布式计算框架。

RDD (Resilient Distributed Dataset) 是一种可以在丢失后通过 DAG 中前置节点被重建的只读数据结构。

Spark 通过 Scala 实现,Scala 的特性:

编程模型

RDD介绍

RDD 可以通过四种方式被创建

此外 RDD 是一种 lazy 并且 ephemeral 的数据结构,用户可以通过两种方式持久化 RDD:

用户需要在访问速度和存储空间两者中做 trade-off

并行操作