park与Hadoop MapReduce在业界有两种说法 :一是 Spark 将代替 Hadoop MapReduce,成为未来大数据处理发展的方向 ;二是 Spark 将会和 Hadoop 结合,形成更大的生态圈。

Spark与Hadoop MapReduce大比拼,谁实力更强(spark与mapreduce比较)  Spark Hadoop MapReduce 大数据 第1张

一说到大数据处理,信任许多人***时刻想到的是 Hadoop MapReduce。没错,Hadoop MapReduce 为大数据处理技能奠定了根底。近年来,跟着 Spark 的开展,越来越多的声响说到了 Spark。而Spark比较Hadoop MapReduce有哪些优势?

Spark与Hadoop MapReduce在业界有两种说法 :一是 Spark 将替代 Hadoop MapReduce,成为未来大数据处理开展的方向 ;二是 Spark 将会和 Hadoop 结合,构成更大的生态圈。其实 Spark 和 Hadoop MapReduce 的要点运用场合有所不同。相关于 Hadoop MapReduce 来说,Spark 有点“后来居上”的感觉,Spark 是在Hadoop MapReduce 模型上开展起来的,在它的身上咱们能显着看到 MapReduce的影子,一切的 Spark 并非从头立异,而是站在了伟人“MapReduce”的膀子上。千秋功罪,留于日后评说,咱们暂时搁下争议,来看看比较 Hadoop MapReduce,Spark 都有哪些优势。

1、核算速度快

大数据处理首要寻求的是速度。Spark 到底有多快?用官方的话说,“Spark 答应 Hadoop 集群中的运用程序在内存中以 100 倍的速度运转,即使在磁盘上运转也能快 10 倍”。或许有的读者看到这儿会大为感叹,确实如此,在有迭代核算的范畴,Spark 的核算速度远远超越 MapReduce,而且迭代次数越多,Spark 的优势越显着。这是由于 Spark 很好有利地势用了现在服务器内存越来越大这一长处,经过削减磁盘 I/O 来到达功能提高。它们将中心处理数据悉数放到了内存中,仅在必要时才批量存入硬盘中。或许读者会问 :假如运用程序特别大,内存能放下多少 GB ?答曰 :什么? GB ?现在 IBM 服务器内存现已扩展至几 TB 了。

2、运用灵敏,上手简略

知道 AMPLab 的 Lester 为什么抛弃 MapReduce 吗?由于他需求把许多精力放到Map和Reduce的编程模型上,极为不方便利。 Spark在简略的Map及Reduce操作之外,还支撑 SQL 查询、流式查询及杂乱查询,比方开箱即用的机器学习算法。一起,用户能够在同一个作业流中无缝地调配这些才能,运用十分灵敏。

Spark 中心部分的代码为 63 个 Scala 文件,十分的轻量级。而且答应 Java、Scala、Python 开发者在自己了解的言语环境下进行作业,经过建立在Java、Scala、Python、SQL(应对交互式查询)的标准 API 以便利各行各业运用,一起还包含许多开箱即用的机器学习库。它自带 80 多个高等级操作符,答应在 Shell中进行交互式查询。即使是新手,也能轻松上手运用。

3、兼容竞争对手

Spark 能够独立运转,除了能够运转在当下的 YARN 集群办理外,还能够读取已有的任何 Hadoop 数据。它能够运转在任何 Hadoop 数据源上,比方 HBase、HDFS 等。有了这个特性,让那些想从 Hadoop 运用迁移到 Spark 上的用户便利了许多。Spark 有兼容竞争对手的胸襟,何愁大事不成?

4、实时处理功能特殊

MapReduce 更 加 适 合 处 理 离 线 数 据( 当 然, 在 YARN 之 后,Hadoop也能够凭借其他东西进行流式核算)。Spark 很好地支撑实时的流核算,依靠Spark Streaming 对数据进行实时处理。Spark Streaming 具有功能强大的 API,答运用户快速开发流运用程序。而且不像其他的流解决方案,比方Storm,Spark Streaming 无须额定的代码和装备,就能够做许多的康复和交给作业。

5、社区贡献力量巨大

从 Spark 的版别演化来看,足以阐明这个渠道旺盛的生命力及社区的活泼度。特别自 2013 年以来,Spark 一度进入高速开展期,代码库提交与社区活泼度都有显着增加。以活泼度论,Spark 在一切的 Apache 基金会开源项目中位列前三,相较于其他大数据渠道或结构而言,Spark 的代码库最为活泼。

Spark 十分重视社区活动,安排也极为标准,会定时或不定时地举办与 Spark相关的会议。会议分为两种 :一种是 Spark Summit,影响力极大,可谓全球 Spark***技能人员的峰会,现在已于 2013—2015 年在 San Francisco 接连举行了三届Summit 大会 ;另一种是 Spark 社区不定时地在全球各地举行的小型 Meetup 活动。Spark Meetup 也会在我国的一些大城市定时举行,比方北京、深圳、西安等地,读者能够重视当地的微信大众号进行参加。

Spark 的适用场景

从大数据处理需求来看,大数据的事务大约能够分为以下三类 :

(1)杂乱的批量数据处理,一般的时刻跨度在数十分钟到数小时之间。

(2)根据历史数据的交互式查询,一般的时刻跨度在数十秒到数分钟之间。

(3)根据实时数据流的数据处理,一般的时刻跨度在数百毫秒到数秒之间。

现在已有许多相对老练的开源和商业软件来处理以上三种情形 :***种事务,能够使用 MapReduce 来进行批量数据处理 ;第二种事务,能够用 Impala 来进行交互式查询 ;关于第三种流式数据处理,能够想到专业的流数据处理东西Storm。可是这儿有一个很重要的问题 :关于大多数互联网公司来说,一般会一起遇到以上三种情形,假如选用不同的处理技能来面临这三种情形,那么这三种情形的输入/ 输出数据无法无缝同享,它们之间或许需求进行格局转化,而且每个开源软件都需求一支开发和保护团队,然后提高了本钱。别的一个不方便利之处便是,在同一个集群中对各个体系和谐资源分配比较困难。

那么,有没有一种软件能够一起处理以上三种情形呢? Spark 就能够,或许说有这样的潜力。Spark 一起支撑杂乱的批处理、互操作和流核算,而且兼容支撑HDFS 和 Amazon S3 等分布式文件体系,能够布置在 YARN 和 Mesos 等盛行的集群资源办理器上。

从 Spark 的规划理念(根据内存的迭代核算结构)动身,其最适合有迭代运算的或许需求屡次操作特定数据集的运用场合。而且迭代次数越多,读取的数据量越大,Spark 的运用作用就越显着。因而,关于机器学习之类的“迭代式”运用,Spark 可谓拿手好戏,要比 Hadoop MapReduce 快数十倍。别的,Spark Streaming由于内存存储中心数据的特性,处理速度十分快,也能够运用于需求实时处理大数据的场合。

当然,Spark 也有不适用的场合。关于那种异步细粒度更新状况的运用,例如 Web 服务的存储或增量的 Web 爬虫和索引,也便是关于那种增量修正的运用模型不适合。Spark 也不适合做超级大的数据量的处理,这儿所说的“超级大”是相关于这个集群的内存容量而言的,由于 Spark 要将数据存储在内存中。一般来说,10TB 以上(单次剖析)的数据就能够算是“超级大”的数据了。

一般来说,关于中小企业的数据中心而言,在单次核算的数据量不大的情况下,Spark 都是很好的挑选。别的,Spark 也不适合运用于混合的云核算渠道,由于混合的云核算渠道的网络传输是很大的问题,即使有专属的宽带在云端 Cluster和本地 Cluster 之间传输数据,比较内存读取速度来说,仍然不抵。

转载请说明出处
知优网 » Spark与Hadoop MapReduce大比拼,谁实力更强(spark与mapreduce比较)

发表评论

您需要后才能发表评论