简单总结Hadoop和Spark集群技术的不同点

谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同。

解决问题的层面不一样

首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件。

同时,Hadoop还会索引和跟踪这些数据,让大数据处理和分析效率达到前所未有的高度。Spark,则是那么一个专门用来对那些分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。

两者可合可分

Hadoop除了提供为大家所共识的HDFS分布式数据存储功能之外,还提供了叫做MapReduce的数据处理功能。所以这里我们完全可以抛开Spark,使用Hadoop自身的MapReduce来完成数据的处理。

相反,Spark也不是非要依附在Hadoop身上才能生存。但如上所述,毕竟它没有提供文件管理系统,所以,它必须和其他的分布式文件系统进行集成才能运作。这里我们可以选择Hadoop的HDFS,也可以选择其他的基于云的数据系统平台。但Spark默认来说还是被用在Hadoop上面的,毕竟,大家都认为它们的结合是最好的。

以下是从网上摘录的对MapReduce的最简洁明了的解析:

我们要数图书馆中的所有书。你数1号书架,我数2号书架。这就是“Map”。我们人越多,数书就更快。

现在我们到一起,把所有人的统计数加在一起。这就是“Reduce”。

Spark数据处理速度秒杀MapReduce

熟悉Hadoop的人应该都知道,用户先编写好一个程序,我们称为Mapreduce程序,一个Mapreduce程序就是一个Job,而一个Job里面可以有一个或多个Task,Task又可以区分为Map Task和Reduce Task,如下图所示:

2016510101130768.png (607×355)

而在Spark中,也有Job概念,但是这里的Job和Mapreduce中的Job不一样,它不是作业的最高级别的粒度,在它只上还有Application的概念。

一个Application和一个SparkContext相关联,每个Application中可以有一个或多个Job,可以并行或者串行运行Job。Spark中的一个Action可以触发一个Job的运行。在Job里面又包含了多个Stage,Stage是以Shuffle进行划分的。在Stage中又包含了多个Task,多个Task构成了Task Set。他们之间的关系如下图所示:

2016510101159122.png (747×627)

Mapreduce中的每个Task分别在自己的进程中运行,当该Task运行完的时候,该进程也就结束了。和Mapreduce不一样的是,Spark中多个Task可以运行在一个进程里面,而且这个进程的生命周期和Application一样,即使没有Job在运行。

这个模型有什么好处呢?可以加快Spark的运行速度!Tasks可以快速地启动,并且处理内存中的数据。但是这个模型有的缺点就是粗粒度的资源管理,每个Application拥有固定数量的executor和固定数量的内存。

Spark因为其处理数据的方式不一样,会比MapReduce快上很多。MapReduce是分步对数据进行处理的: ”从集群中读取数据,进行一次处理,将结果写到集群,从集群中读取更新后的数据,进行下一次的处理,将结果写到集群,等等…“ Booz Allen Hamilton的数据科学家Kirk Borne如此解析。

反观Spark,它会在内存中以接近“实时”的时间完成所有的数据分析:“从集群中读取数据,完成所有必须的分析处理,将结果写回集群,完成,” Born说道。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。

如果需要处理的数据和结果需求大部分情况下是静态的,且你也有耐心等待批处理的完成的话,MapReduce的处理方式也是完全可以接受的。

但如果你需要对流数据进行分析,比如那些来自于工厂的传感器收集回来的数据,又或者说你的应用是需要多重数据处理的,那么你也许更应该使用Spark进行处理。

大部分机器学习算法都是需要多重数据处理的。此外,通常会用到Spark的应用场景有以下方面:实时的市场活动,在线产品推荐,网络安全分析,机器日记监控等。

灾难恢复

两者的灾难恢复方式迥异,但是都很不错。因为Hadoop将每次处理后的数据都写入到磁盘上,所以其天生就能很有弹性的对系统错误进行处理。

Spark的数据对象存储在分布于数据集群中的叫做弹性分布式数据集(RDD: Resilient Distributed Dataset)中。“这些数据对象既可以放在内存,也可以放在磁盘,所以RDD同样也可以提供完成的灾难恢复功能,”Borne指出。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/893960.html

(0)
上一篇 2025年1月3日 23:58:50
下一篇 2025年1月3日 23:59:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何创建一个个人网站

    今天来给大家介绍一下怎么建站,网站建设其实很容易的,首先你得需要买一个虚拟主机,然后还需要一个域名。那么主机和域名要去哪里买呢?可以去百度云,阿里云,还可以去景安。下面就来用景安做一下介绍吧。     1.首先需要购买一个主机,主机有很多类…

    2025年1月4日 建站经验
    100
  • 建站经验分享:选择和部署安装网站平台系统

    选择和部署安装网站平台系统 “网站平台”系统是指您的网站使用哪一种平台,是博客平台,还是企业 CMS平台,是论坛平台,还是 APP数据平台等,这个应该是您在网站建立前就应该考虑的。普通个人博客都是博客平台,常见的有 WordPress, T…

    建站经验 2025年1月4日
    100
  • 建站经验分享:建站前分析和工具准备

    1、准备 ①域名 购买域名及套餐。常用com,cn,net。域名尽量贴近品牌,拼音或者英文,尽量不要用中文。合理使用老域名,规避被惩罚域名。 ②空间 存放网站的空间。可以买实体主机/租虚拟主机。注意主机稳定性,安全性。 ③程序 外包、自主开…

    建站经验 2025年1月4日
    100
  • 构建互联网高性能WEB系统经验总结

    互联网发展至今各种应用层出不穷,用户量动辄上亿。所以如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要。本文将我所学到和在工作中使用到的一些方法归纳总结,希望给其他同学起到一些借鉴作用,在以后的开发中遇到类似的问题,能快速的找…

    建站经验 2025年1月4日
    100
  • 浅谈网站建设中容易忽略的重要细节

    网站建设是一件技术性很强的事情,并不是像你想的那样只要用一些代码加上一些图片就可以搞定,如果网站建设不当的话,很有可能不被搜索引擎收录,这样你所建设的网站就是一个垃圾网站。在进行网站建设的过程中,大家都比较容易忽视但是有非常重要的就是网站的…

    2025年1月4日
    100
  • 动态网站和静态网站应该如何去选择

    网站SEO优化优哪种网站更利于优化呢?静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。在网站设计中,纯粹…

    建站经验 2025年1月4日
    100
  • 为什么有些网站前面不加WWW?网站加和不加WWW有什么不同

    很久以前,并不明白网站前面”www”是什么含义。无论我通过哪个域名访问,都将转向到后者上,就是域名前面多了一个 “www”。 大约到了最近,Michael F Liu就号召大家把域名前面的www去掉,我深以为然。好域…

    2025年1月4日 建站经验
    300
  • 网易蜂巢Docker容器的负载均衡设置教程

    关于负载均衡 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有…

    2025年1月4日 建站经验
    300
  • 网站总是出现500错误怎么解决?

    网站出现了500错误,找了半天原因,发现是服务器密码变了,导致网站出现了500错误。 在解决方法中,给我印象最深刻的是我修改了服务器密码后网站打不开了,我记得当时改了3个钟头,所有的方法都试过了,还是不行,最后终于找到原因,原来是改变了服务…

    2025年1月3日 建站经验
    200
  • 网站模板建站需要注意什么问题?网站模板建站需要注意的问题介绍

    网站模板建站需要注意什么问题?互联网时代,越来越多的企业开始建站营销,但是网站建设并非简单的表面工作,它需要前端设计,后台编程等等,许多企业并不具备这样的成熟技能,不懂建站该怎么办呢?互联网上随处可以见到免费的模板自助建站,能够帮助企业解决…

    建站经验 2025年1月3日
    200

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信