RDD是Spark最基本也是最根本的数据抽象,它具备像MapReduce等数据流模型的容错性,并且允许开发人员在大型集群上执行基于内存的计算。
为了有效地实现容错,(详细见http://www.cnblogs.com/zlslch/p/5718799.html )RDD提供了一种高度受限的共享内存,即RDD是只读的,并且,只能通过其他RDD上的批量操作来创建。
RDD只支持粗粒度转换,限制了编程模型。
但RDD仍然可以很好地适用于很多应用,特别是支持数据并行的批量分析应用,包括数据挖掘、机器学习、图算法等,因为这些程序通常都会在很多记录上执行相同的操作。
RDD不太适合那些异步更新共享状态的应用,例如并行Web网络爬虫。
因此,Spark的目标是为大多数分析型应用提供有效的编程模型,而其他类型的应用则交给专们的系统。
时间: 2024-12-20 19:47:23