Spark RDD概念学习系列之为什么会引入RDD?(一)

针对非循环数据流模型存在的问题,Spark引入了弹性分布式数据集(RDD),支持迭代算法及交互式数据挖掘工具等应用。RDD可在内存中缓存工作集,显著提升查询效率,并保留了自动容错等特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么会引入RDD?

  我们知道,无论是工业界还是学术界,都已经广泛使用高级集群编程模型来处理日益增长的数据,如MapReduce和Dryad。这些系统将分布式编程简化为自动提供位置感知性调度、容错以及负载均衡,使得大量用户能够在商用集群上分析超大数据集。大多数现有的集群计算系统都是基于非循坏的数据流模型。即从稳定的物理存储(如分布式文件系统)中加载记录,记录被传入由一组稳定性操作构成的DAG(Directed Acyclic Graph,有向无环图),然后写回稳定存储。DAG数据流图能够在运行时自动实现任务调度和故障恢复。

 尽管非循环数据流是一种强大的抽象方法,但仍然有些应用无法使用这种方式描述。这类应用包括:

 1)机器学习和图应用中常用的迭代算法(每一步对数据执行相似的函数);

 2)交互式数据挖掘工具(用户反复查询一个数据子集)。

 基于数据流的框架并不明确支持工作集,所以需要将数据输出到磁盘,然后在每次查询时重新加载,这会带来较大的开销。针对上述问题,Spark实现了一种分布式的内存抽象,称为RDD(弹性分布式数据集)。

它支持基于工作集的应用,同时具有数据流模型的特点:自动容错,位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用于工作集,这极大地提升了查询速度。

转载于:https://my.oschina.net/u/164027/blog/1556592

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值