Spark和Hadoop MapReduce有什么区别? 

很多人认为Spark 将代替 Hadoop MapReduce,成为未来大数据处理发展的方向,MapReduce和Spark之间存在哪些区别?Spark会取代Hadoop吗?大数据技术学习为什么要既要学习Hadoop又要学习Spark?

Hadoop MapReduce:

一种编程模型,是面向大数据并行处理的计算模型、框架和平台,用于大规模数据集(大于1TB)的并行运算。"Map(映射)"和"Reduce(归约)",是它们的主要思想,MapReduce采用"分而治之"的思想,简单地说,MapReduce就是"任务的分解与结果的汇总"。

Spark:

专为大规模数据处理而设计的快速通用的计算引擎,是一种与 Hadoop 相似的开源集群计算环境,拥有Hadoop MapReduce所具有的优点,Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补MapReduce的不足。

Spark特点:速度快、容易上手开发、超强的通用性、集成Hadoop、极高的活跃度。

Spark与Hadoop MapReduce

Spark与Hadoop MapReduce在业界有两种说法 :

一是 Spark 将代替 Hadoop MapReduce,成为未来大数据处理发展的方向 ;

二是 Spark 将会和 Hadoop 结合,形成更大的生态圈。

Spark是借鉴了mapreduce并在其基础上发展起来的,继承了其分布式计算的优点并改进了mapreduce明显的缺陷,但是二者也有不少的差异。

二者的一些区别:

1、Spark的速度比MapReduce快,Spark把运算的中间数据存放在内存,迭代计算效率更高;mapreduce的中间结果需要落地,需要保存到磁盘,比较影响性能;

2、spark容错性高,它通过弹性分布式数据集RDD来实现高效容错;mapreduce容错可能只能重新计算了,成本较高;

3、spark更加通用,spark提供了transformation和action这两大类的多个功能API,另外还有流式处理sparkstreaming模块、图计算GraphX等;mapreduce只提供了map和reduce两种操作,流计算以及其他模块的支持比较缺乏,计算框架(API)比较局限;

4、spark框架和生态更为复杂,很多时候spark作业都需要根据不同业务场景的需要进行调优已达到性能要求;mapreduce框架及其生态相对较为简单,对性能的要求也相对较弱,但是运行较为稳定,适合长期后台运行;

5、Spark API方面- Scala: Scalable Language, 是进行并行计算的最好的语言. 与Java相比,极大的减少代码量(Hadoop框架的很多部分是用Java编写的)。

Spark 和 Hadoop MapReduce 的重点应用场合有所不同。

Spark会取代Hadoop吗?

Hadoop和Spark两者都是大数据框架,Hadoop实质上更多是一个分布式数据基础设施:它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着不需要购买和维护昂贵的服务器硬件,还会索引和跟踪这些数据,让大数据处理和分析效率达到前所未有的高度。 加米谷大数据开发培训,6月零基础班预报名中,提前预报可领取免费独家学习资料+学费优惠!

Spark,则是那么一个专门用来对那些分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。Spark的限制:内存。

看图:

Hadoop:分布式计算架构鼻祖

所谓分布式计算过程就像蚂蚁搬家一样,将一个大型任务分割成很多部分,每一台电脑相当于一个小蚂蚁将其中一部分搬走。Hadoop作为分布式系统的基础架构,其重要性不言而喻。

Hadoop的数据处理工作在硬盘层面,借助HDFS(分布式文件系统),可以将架构下每一台电脑中的硬盘资源聚集起来,不论是存储计算还是调用都可以视为一块硬盘使用,使用集群管理和调度软件Yarn,利用Map/Reduce计算框架,就可以在这上面进行计算编程。从而大幅降低了整体计算平台的硬件投入成本。而这也是最基础的分布式计算架构。

Spark流数据处理

所谓流数据处理其实不难理解,比如看网上视频,都是下载一段看一段,然后快结束的时候自动下载下一段。由于Hadoop的计算过程放在硬盘,受制于硬件条件限制,数据的吞吐和处理速度明显不如使用内存来的快。于是Spark登上舞台,与Hadoop相比,Spark真正的优势在于速度。

很多人在谈到Spark代替Hadoop的时候,其实很大程度上指的是代替MapReduce。

大数据技术学习为什么要既要学习Hadoop又要学习Spark?

尽管Hadoop数据处理的速度和难易度都远比不过Spark,但是由于硬盘断电后数据可以长期保存,因此在处理需要长期存储的数据时还是需要借助Hadoop。 Hadoop首先有分块存储得文件系统HDFS,之后延伸出权限、安全等功能,作为分布式文件系统越来越完善,Hbase和Spark等都会利用HDFS。

不过Hadoop由于具有非常好的兼容性,因此很容易同Spark进行结合,从而满足公司的不同需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值