Spark和Hadoop的比较

Hadoop框架主要模块包括:

  1. Hadoop Common
  2. Hadoop分布式文件系统 HDFS
  3. Hadoop YARN
  4. Hadoop MapReduce

Spark速度快,可以进行批处理,然而它真正擅长的是流处理,交互式查询和机器学习

Hadoop中的MR和Spark的主要区别在于,MapReduce使用持久存储,而Spark使用弹性分布式数据集RDD

附录一个关于MapReduce的解释

  我们要数图书馆中的所有书。你数1号书架,我数2号书架。这就是“Map”。我们人越多,数书就更快。现在我们到一起,把所有人的统计数加在一起。这就是“Reduce”。

在Hadoop中,MapReduce是分步对数据进行处理的: ”从集群中读取数据,进行一次处理,将结果写到集群,从集群中读取更新后的数据,进行下一次的处理,将结果写到集群,等等…

Spark和Hadoop计算的区别

Spark是基于内存的计算,而Hadoop是基于磁盘的计算;Spark是一种内存计算技术。所谓的内存计算技术也就是缓存技术,把数据放到缓存中,减少cpu磁盘消耗。Spark和Hadoop的根本差异是多个任务之间的数据通信问题:Spark多个任务之间数据通信是基于内存,而Hadoop是基于磁盘。Hadoop每次shuffle操作后,必须写到磁盘,而Spark在shuffle后不一定落盘,可以cache到内存中,以便迭代时使用。如果操作复杂,很多的shufle操作,那么Hadoop的读写IO时间会大大增加。多个任务之间的操作也就是shuffle过程,因为要把不同task的相同信息集合到一起,这样内存的速度要明显大于磁盘了。
 

性能

Spark之所以如此快速,原因在于它在内存中处理一切数据,然而它还可以使用磁盘来处理未全部装入到内存的数据

Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。

易用性

支持Scala语言,Java,Python,Spark SQL(类SQL),Spark还有一种交互模式,开发人员和用户都可以获取查询操作的即时反馈。

成本

Spark已证明在数据多达PB情况下也能轻松自如,它被用于数量只有十分之一的机器上,对100TB数据进行排序的速度比MR onHadoop快3倍

兼容性

MapReduce与Spark相互兼容,

数据处理

MapReduce是一种批量处理引擎。MapReduce以顺序步骤来操作,先从集群读取数据,然后对数据执行操作,将结果写回到集群,从集群读 取更新后的数据,执行下一个数据操作,将那些结果写回到结果,依次类推。Spark执行类似的操作,不过是在内存中一步执行。它从集群读取数据后,对数据 执行操作,然后写回到集群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值