主页 > 新闻资讯 > Hadoop与Spark,基于分布式计算的异同分析

Hadoop与Spark,基于分布式计算的异同分析

作者:张老师 浏览次数: 2020-02-04 18:27
关于大数据的处理,Hadoop并非唯一的选择,但是在一定程度上来说,是最适合一般企业的选择。这也是Hadoop成为现在主流选择的原因之一,而随着Hadoop在实时数据处理上的局限出现,Spark的呼声高了起来。Hadoop与Spark,成为了常常被拿来做比较的对象。

Hadoop作为主流运用的大数据处理系统,是有着坚实的基础的,Hadoop生态系统中在不断发展中也在不断完善,形成了完备的数据处理环节,从数据存储到计算到结果输出,通过Hadoop框架,各个环节都能实现。

Hadoop与Spark

Hadoop的两大核心,也就是HDFS和MapReduce,也就是解决数据存储和数据计算的关键性问题,就靠这两个了。在Hadoop系统当中,依靠HDFS和MapReduce就完全能够实现数据处理的关键性环节了。

而反观Spark,它是基于实时数据处理而提出的,本身不具备数据存储能力,是基于已经完成分布式存储的数据,进行下一步的分布式计算,这样来看其实就跟MapReduce的作用差不多。

那么Spark需要基础分布式存储的数据进行计算处理,怎么办呢?自身不能实现,但是可以依靠其他的工具来实现,比方说HDFS,或者其他的分布式文件系统。

如果把Spark和MapReduce做一个对比,两者都是分布式计算,主要的不同之处,大家也都知道,MapReduce的强项是离线处理,Spark的强项是实时处理。

MapReduce为分布式计算框架,包含map(映射)和reduce(归约)过程,负责在HDFS上进行计算。由于MapReduce的数据流是acyclic(非循环)的,且数据存储在磁盘,这就导致在迭代计算时需要反复进行磁盘读写操作,大大降低了计算效率。

Spark的提出,很大程度上是为了解决MapReduce在处理迭代算法上的缺陷。Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,为数据处理任务给出了更多的灵活空间。

Hadoop与Spark在数据处理上各有所长,但是并非不能并存。在Hadoop系统框架当中,同样可以将Spark接入,从而实现离线数据处理和实时数据处理的双赢。成都加米谷大数据,大数据技术分享,大数据课程培训,更多详情可联系客服了解。
热点排行
推荐文章
立即申请>>