RDD与MapReduce对比

本文探讨了MapReduce的不足,主要在于不适合迭代式、交互式和流式计算,原因是数据共享效率低,导致网络间复制文件代价增加。相比之下,RDD通过有效的数据共享适应了多种数据并行算法和编程模型,如迭代算法、关系型查询、MapReduce批处理和流式处理。RDD提供更好的性能和容错能力,特别在流式处理中,通过D-Stream模型减少了容错成本。
摘要由CSDN通过智能技术生成

一. MapReduce的缺点

        MapReduce给我们展示了一个简单通用和自动容错的批处理计算模型,但是对于其他类型的计算,比如迭代式、交互式和流式计算,MapReduce并不适合,其主要原因是MapReduce缺乏一种特性,即在并行计算的各个阶段进行有效的数据共享。

        MapReduce将计算构建成一个有向无环图的任务集,而这只能允许它们有效地重新计算部分DAG,在单独的计算之间(在迭代的计算步骤之间),除了复制文件,这些模型没有提供其他的存储抽象,这就显著地增加了在网络间复制文件的代价。

二. RDD的优势

        RDD的本质即是在并行计算的各个阶段进行有效的数据共享,利用这种有效的数据共享和类似的操作接口,RDD能够适应当前大部分的数据并行算法和编程模型,如下面四种模型:

        1)迭代算法:这是目前专有系统实现的非常普遍的一种应用场景,比如选代算法可以用于图处理和机器学习,RDD能够很好地实现这些模型。

        2)关系型查询:对于MapReduce来说非常重要的需求就是运行SQL查询,包括长期运行、数小时的批处理作业和交互式的查询。然而对于MapReduce而言,对比并行数据库进行交互式查询,有其内在的缺点,比如由于其容错的模型而导致速度很慢。利用RDD模型,可以通过实现许多通用的数据库引擎特性,从而获得非常好的性能。

        3)MapReduce批处理:RDD提供的接口是的超集,所以RDD可以有效地运

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值