Hadoop MapReduce与Apache Spark

  • 时间:2018-06-19 22:36 作者:侧畔舟沉 来源:侧畔舟沉 阅读:50
  • 扫一扫,手机访问
摘要:Hadoop和Spark都是大数据框架,它们提供了使用于执行常见大数据相关任务的最流行的工具。我们来谈谈他们的分歧。大数据这个词已经在商业世界中引起了很多炒作。Hadoop和Spark都是大数据框架; 他们提供了少量使用于执行常见大数据相关任务的最流行的工具。在本文中,我们将详情Spark和Hado

Hadoop MapReduce与Apache Spark

Hadoop和Spark都是大数据框架,它们提供了使用于执行常见大数据相关任务的最流行的工具。我们来谈谈他们的分歧。

大数据这个词已经在商业世界中引起了很多炒作。Hadoop和Spark都是大数据框架; 他们提供了少量使用于执行常见大数据相关任务的最流行的工具。在本文中,我们将详情Spark和Hadoop MapReduce之间的区别。

详情

Spark: 这是一个开源的大数据框架。它提供了一个更快和更通使用的数据解决引擎。Spark基本上是为快速计算而设计的。它还涵盖了广泛的工作负载,例如批解决,交互式,迭代和流式解决。

Hadoop MapReduce: 它也是一个使用于编写应使用程序的开源框架。它还解决存储在HDFS中的结构化和非结构化数据。Hadoop MapReduce的设计方式是解决大量商品硬件上的大量数据。MapReduce能批解决模式解决数据。

Hadoop MapReduce与Apache Spark

数据解决

Spark: Apache Spark非常适合批解决和流解决,这意味着它是一个混合解决框架。Spark通过内存计算和解决优化加快了批解决速度。这对于流式工作负载,交互式查询和机器学习来说是一个很好的选择。Spark还能用Hadoop及其板块。其实时数据解决可以力使Spark成为大数据分析的首选。

其弹性分布式数据集(RDD)允许Spark透明地将数据存储在内存中,并仅将重要或者需要的数据发送到磁盘。结果,在磁盘读写上花费了很多时间。

Hadoop:Apache Hadoop提供批解决。Hadoop开发了大量的新算法和组件堆栈,以提高对大规模批解决的访问。

MapReduce是Hadoop的本地批解决引擎。Hadoop现代版本中的几个组件或者层(如YARN,HDFS等)允许轻松解决批解决数据。因为MapReduce是关于永久存储的,它将数据存储在磁盘上,这意味着它能解决大型数据集。MapReduce具备可扩展性,并且已经证实了它能解决数以万计的节点。但是,因为MapReduce以各种连续的步骤运行,Hadoop的数据解决速度很慢。

Hadoop MapReduce与Apache Spark

实时分析

Spark: 它能解决实时数据,即来自实时事件流的数据,以每秒百万个事件的速度,如Twitter和Facebook数据。Spark的优势在于它可以够有效地解决直播流。

Hadoop MapReduce: MapReduce在实时数据解决方面失败了,由于它被设计成对大量的数据执行批解决。

用方便

Spark:Spark比Hadoop更易于用,由于它提供了使用于Scala(其母语),Java,Python和Spark SQL的使用户友好的API。因为Spark提供了在同一集群中执行流,批解决和机器学习的方法,因而使用户能轻松简化数据解决的基础架构。交互式REPL (Read-Eval-Print Loop)允许Spark使用户取得命令的即时反馈。

Hadoop:另一方面,Hadoop是使用Java编写的,很难编程,并且需要笼统。虽然Hadoop MapReduce没有交互模式,但Pig和Hive这样的工具使得采使用者更容易用它。

Hadoop MapReduce与Apache Spark

图形解决

Spark:Spark带有一个名为GraphX的图形计算库,使事情变得简单。内存计算与内置图形支持相结合,使算法的性可以远远优于传统的MapReduce程序。Netty和Akka使Spark可以够将消息分发给执行者。

Hadoop:大多数解决算法,比方PageRank,对相同的数据执行屡次迭代。MapReduce从磁盘读取数据,并在特定的迭代之后将结果发送到HDFS,而后再次从HDFS中读取数据以使用于下一次迭代。这样的过程会添加推迟,并使图形解决变得缓慢。

为了评估特定节点的分数,消息传递需要包含数十个相邻节点。这些计算需要来自邻居的消息,但MapReduce没有任何机制。虽然Pregel和GraphLab等快速且可扩展的工具可使用于高效的图形解决算法,但它们不适使用于复杂的多级算法。

容错

Spark: Spark通过最小化网络I / O来用RDD和各种数据存储模型来实现容错。在发生RDD分区丢失的情况下,RDD通过已有的信息重建该分区。所以,Spark并不用复制概念来进行容错。

Hadoop: Hadoop通过复制实现容错。MapReduce用TaskTracker和JobTracker进行容错。但是,TaskTracker和JobTracker已分别由Node Manager和ResourceManager / ApplicationMaster在第二版MapReduce中替换。

Hadoop MapReduce与Apache Spark

安全

Spark:Spark的安全性目前还处于起步阶段,仅通过共享密码(密码认证)提供认证支持。但是,组织能在HDFS上运行Spark,以利使用HDFS ACL和文件级权限。

Hadoop MapReduce:Hadoop MapReduce比Spark有更好的安全特性。Hadoop支持Kerberos身份验证,这是一个很好的安全功可以,但难以管理。Hadoop MapReduce还能与Hadoop安全项目(如Knox Gateway和Sentry)集成。第三方供应商还允许组织用Active Directory Kerberos和LDAP进行身份验证。Hadoop的分布式文件系统与访问控制列表(ACL)和传统的文件权限模型兼容。

成本

Hadoop和Spark都是开源项目,因而免费。但是,Spark用大量RAM来运行内存中的所有内容,RAM比硬盘更贵。Hadoop是磁盘绑定的,因而能节省购买昂贵的RAM的成本,但是需要更多的系统在多个系统上分配磁盘I / O。

就成本而言,组织需要考虑他们的要求。假如要解决大量的大数据,Hadoop将会更便宜,由于硬盘空间的速度远远低于内存空间。

Hadoop MapReduce与Apache Spark

兼容性

Hadoop和Spark都是相互兼容的。Spark能集成Hadoop支持的所有数据源和文件格式。所以,说Spark与数据类型和数据源的兼容性与Hadoop MapReduce类似是没有错的。

Hadoop和Spark都是可扩展的。有人可可以会认为Spark是比Hadoop更好的选择。然而,对于那些需要商品系统控制下的大数据集的企业来说,MapReduce是一个不错的选择。这两个框架在自己的意义上都很好。Hadoop有自己的Spark缺少的文件系统,而Spark提供了一种Hadoop不具有的实时分析的方法。

因而,Apache Spark与Hadoop MapReduce之间的差异表明Apache Spark比MapReduce 更高级的集群计算引擎。Spark能解决任何类型的需求(例如批解决,交互式,迭代,流式解决,图表),而MapReduce则能解决批解决。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】需要同时掌握AVA和Linux,才可以继续大数据课程的学习(2019-05-18 10:28)
【系统环境|软件环境】学习大数据,一定要了解大数据的这些用途(2019-05-16 10:49)
【系统环境|Linux】bt宝塔控制面板mysql频繁自动停止详细解决办法(2019-05-16 08:52)
【系统环境|】大数据零基础学习路线,新人记得保存收藏哦(2019-05-15 10:54)
【系统环境|】全网最全最新的大数据系统学习路径(2019-05-14 15:38)
【系统环境|Linux】毕业设计:音乐分享系统(2019-05-14 07:48)
【系统环境|】教你零基础如何快速入门大数据技巧(2019-05-12 11:25)
【系统环境|】想学习大数据?这才是完整的大数据学习体系(2019-05-11 11:33)
【系统环境|数据库】小白学习大数据掌握这几个方法可轻松入门(2019-05-10 10:52)
【系统环境|数据库】学习大数据必须了解的大数据开发课程大纲(2019-05-09 11:40)
手机二维码手机访问领取大礼包
返回顶部