大数据框架有哪些?Hadoop、Spark等5种大数据框架对比小白帮助_大数据菜鸟教程网

大数据处理框架是什么?处理框架和处理引擎负责对数据系统中的数据进行计算。虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为承担类似作用的一系列组件。例如Apache Hadoop可以看作一种以MapReduce作为默认处理引擎的处理框架。引擎和框架通常可以相互替换或同时使用。例如另一个框

大数据框架有哪些?Hadoop、Spark等5种大数据框架对比小白帮助

大数据处理框架是什么?

处理框架和处理引擎负责对数据系统中的数据进行计算。虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为承担类似作用的一系列组件。

大数据框架有哪些?Hadoop、Spark等5种大数据框架对比小白帮助_大数据菜鸟教程网

例如Apache Hadoop可以看作一种以MapReduce作为默认处理引擎的处理框架。引擎和框架通常可以相互替换或同时使用。例如另一个框架Apache Spark可以纳入Hadoop并取代MapReduce。组件之间的这种互操作性是大数据系统灵活性如此之高的原因之一。

虽然负责处理生命周期内这一阶段数据的系统通常都很复杂,但从广义层面来看它们的目标是非常一致的:通过对数据执行操作提高理解能力,揭示出数据蕴含的模式,并针对复杂互动获得见解。

为了简化这些组件的讨论,我们会通过不同处理框架的设计意图,按照所处理的数据状态对其进行分类。一些系统可以用批处理方式处理数据,一些系统可以用流方式处理连续不断流入系统的数据。此外还有一些系统可以同时处理这两类数据。

在深入介绍不同实现的指标和结论之前,首先需要对不同处理类型的概念进行一个简单的介绍。

批处理系统

批处理在大数据世界有着悠久的历史。批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。

 批处理模式中使用的数据集通常符合下列特征…

 批处理非常适合需要访问全套记录才能完成的计算工作。例如在计算总数和平均数时,必须将数据集作为一个整体加以处理,而不能将其视作多条记录的集合。这些操作要求在计算进行过程中数据维持自己的状态。

需要处理大量数据的任务通常最适合用批处理操作进行处理。无论直接从持久存储设备处理数据集,或首先将数据集载入内存,批处理系统在设计过程中就充分考虑了数据的量,可提供充足的处理资源。由于批处理在应对大量持久数据方面的表现极为出色,因此经常被用于对历史数据进行分析。

大量数据的处理需要付出大量时间,因此批处理不适合对处理时间要求较高的场合。

Hadoop框架

提起大数据,第一个想起的肯定是Hadoop,因为Hadoop是目前世界上应用最广泛的大数据工具,他凭借极高的容错率和极低的硬件价格,在大数据市场上风生水起。Hadoop还是第一个在开源社区上引发高度关注的批处理框架,他提出的Map和Reduce的计算模式简洁而优雅。迄今为止,Hadoop已经成为了一个广阔的生态圈,实现了大量算法和组件。由于Hadoop的计算任务需要在集群的多个节点上多次读写,因此在速度上会稍显劣势,但是其吞吐量也同样是其他框架所不能匹敌的。

Storm框架

与Hadoop的批处理模式不同,Storm采用的是流计算框架,由Twitter开源并且托管在GitHub上。与Hadoop类似的是,Storm也提出了两个计算角色,分别为Spout和Bolt。

如果说Hadoop是水桶,只能一桶一桶的去井里扛,那么Storm就是水龙头,只要打开就可以源源不断的出水。Storm支持的语言也比较多,Java、Ruby、Python等语言都能很好的支持。由于Storm是流计算框架,因此使用的是内存,延迟上有极大的优势,但是Storm不会持久化数据。

Samza框架

Smaza也是一种流计算框架,但他目前只支持JVM语言,灵活度上略显不足,并且Samza必须和Kafka共同使用。但是响应的,其也继承了Kafka的低延时、分区、避免回压等优势。对于已经有Hadoop+Kafka工作环境的团队来说,Samza是一个不错的选择,并且Samza在多个团队使用的时候能体现良好的性能。

Spark框架

Spark属于前两种框架形式的集合体,是一种混合式的计算框架。它既有自带的实时流处理工具,也可以和Hadoop集成,代替其中的MapReduce,甚至Spark还可以单独拿出来部署集群,但是还得借助HDFS等分布式存储系统。Spark的强大之处在于其运算速度,与Storm类似,Spark也是基于内存的,并且在内存满负载的时候,硬盘也能运算,运算结果表示,Spark的速度大约为Hadoop的一百倍,并且其成本可能比Hadoop更低。但是Spark目前还没有像Hadoop哪有拥有上万级别的集群,因此现阶段的Spark和Hadoop搭配起来使用更加合适。

Flink框架

Flink也是一种混合式的计算框架,但是在设计初始,Fink的侧重点在于处理流式数据,这与Spark的设计初衷恰恰相反,而在市场需求的驱使下,两者都在朝着更多的兼容性发展。Flink目前不是很成熟,更多情况下Flink还是起到一个借鉴的作用。

海计划公众号
(0)
上一篇 2020/03/31 01:59
下一篇 2020/03/31 01:58

您可能感兴趣的内容

  • nodejs自动刷新如何实现的?小白攻略_刷新入门基础

    nodejs自动刷新的实现方法:采用gulp、browser-sync及gulp-nodemon可以实现自动刷新,使用npm install命令进行安装,在项目根目录中新建js文件添加代理端口,使用命令gulp server启动代理端口即可。nodejs自动刷新的实现方法如下:1、首先安装gulpnpm install –save-dev gulp(如果之

    2020/03/24
  • 如何通过学IT技术拿到高薪工作?小白常识_工作入门攻略

    不得不说,这几年最火的行业非互联网莫属,互联网的发展带来了巨大的社会变革,从工作到生活,改变着方方面面;互联网的快速发展,需要巨大的IT技术人才作为技术支撑,不仅为互联网企业服务,更多的是为社会化大众服务。
    互联网的IT技术人才缺口是巨大,需要更多的年轻人加入其中,年轻人加入IT技术队伍的中药原因便是:工资高、福利待遇好。
    但作为一名零基础想学习编程的朋友而

    2020/03/23
  • weinre使用攻略_一款很不错的网页检查工具

    weinre使用攻略 官方网址:https://people.apache.org/~pmuellr/weinre/docs/latest/Home.html 简介描述:一款很不错…

    2020/03/06
  • EasyScreenOCR入门基础教程_免费图片文字识别转换工具

    EasyScreenOCR入门基础教程 官方网址:https://easyscreenocr.com/ 简介描述:免费图片文字识别转换工具 “Easy Screen OCR”是一个…

    2020/03/11
  • css实现内容渐变隐藏效果,手机网页版知乎内容隐藏效果的实现菜鸟指南_渐变菜鸟攻略

    看到一个需求,如下图,知乎手机网页版的一个视觉效果,对内容很长的部分有一个渐变的隐藏的效果,个人觉得这个设计还是很好的,符合手机大小的应用场景,没有一下子显示完全,可以很快的滑倒页面底部,一定程度上减少了滑动时间,用户体验很好,对整个页面有一个大概的预览,强迫症会感觉很爽。具体怎么实现这个效果,分析一下:可以看出来是一个渐变的效果,从上往下颜色变白,我们知道

    2020/04/05
  • JS动画与CSS动画指南攻略_动画基础知识教程

    一、JS动画优点:1)过程控制能力强。可以对动画工程进行精准的控制,暂停、取消、开始、终止都可以。2)动画效果多、炫酷。有一些效果是CSS动画所不能实现的3)兼容性比较高缺点:1)由于JS是通过不断的操作DOM和CSS的属性来实现动画效果的,这需要不断的重排(reflow)和重绘(repaint),非常消耗浏览器的内存。(在PC端有浏览器可以分配的内存比较大

    2020/03/24
  • Vue 计算属性简析基础入门_属性小白指南

    Vue ComputedVue 开发人员必然使用过计算属性(Computed Properties):你可以像绑定 data 属性一样在模板中绑定计算属性;计算属性一般依赖一个或多个 data 属性,并返回它们复杂逻辑下的状态;当这些依赖属性变更时,模版中绑定的计算属性也会随之更新。那问题来了,vue 是怎么实现这个机制的呢? 我看了一篇外文是讲解 comp

    2020/03/20
  • Js字符串数组初始化小白攻略_字符串攻略教程

    有时候我们需要初始化一个很长的字符串数组,举个例子:const tags = [‘html’,’body’,’h1′,’h2′,’h3′,’h4′,’h5′,’h6′,’form’,’input’,’label’,// 后面还有很长…
    ];后续的处理是需要遍历这整个数组去完成某些功能,不关心这些字符串的相对顺序。但我们在维护这个字符串数组的时候会感觉有些

    2020/03/26
  • Sql中Left Join、Right Join、Inner Join的区别?零基础入门_sql小白入门

    left join(左联接) :返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) :返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接): 只返回两个表中联结字段相等的行举例如下:表A记录如下:
    aID     aNum
    1     a20050111
    2     a20050112
    3     

    2020/03/26
  • Cocos基础入门html5游戏开发,Android游戏开发工具的首选

    Cocos基础入门 官方网址:http://www.cocos.com/ GitHub:https://github.com/cocos2d/cocos2d-x 简介描述:html…

    2020/03/05
  • 两种JavaScript异常处理的方式菜鸟教程下载_异常菜鸟攻略

    一、浏览器抛出异常1、标准格式try{
    //可能发生异常的代码
    }catch(error){
    //发生错误执行的代码
    }2、finally语句try{
    //可能发生异常的代码
    }catch(error){
    //发生错误执行的代码
    }finally{
    // 不管 try 中的语句有没有错误,都会执行的语句

    2020/03/20
  • css获取除第一个之外的子元素菜鸟教程网_伪类入门基础教程

    在前端页面开发中,需要使用css来选择除了第一个之外的子元素,例如希望每个span之间能间隔一定的距离,单不能给每个span设置margin-left,这样会导致第一个span的前面有间距,影响排版。下面就来讲解实现css获取除第一个之外的子元素的多种方法。效果如下:基本结构如下:
    .dom div{float: left;height: 15

    2020/04/05
  • Polar小白常识_一个用于PDF和Web内容的个人知识库,支持增量阅读和文档注释

    Polar小白常识 官方网址:https://github.com/burtonator/polar-bookshelf GitHub:https://getpolarized.i…

    2020/03/08
  • 如何构建可伸缩的Web应用?菜鸟教程网_应用使用帮助

    为什么要构建可伸缩的Web应用?想象一下,你的营销活动吸引了很多用户,在某个时候,应用必须同时为成千上万的用户提供服务,这么大的并发量,服务器的负载会很大,如果设计不当,系统将无法处理。接下来发生的就是,随机错误、缓慢的内容加载、无休止的等待、连接断开、服务不可用等问题。辛辛苦苦吸引来的用户变成了系统的攻击者,把服务器资源耗尽,应用程序崩溃。你的大多数用户将

    2020/03/20
  • nginx 配置解决 react 、vue 单页面刷新404问题指南攻略_404基础入门

    问:出显了什么问题。现象是什么?答:比如你在浏览器中直接访问www.lyy.com/demo/login会404。但如果你先访问www.lyy.com/demo/index.html后再点“登录” 跳转到www.lyy.com/demo/login是正常显示登录页面的。这时你f5”刷新“又会出现 404了。。问:为什么会出现404呢,第一次访问这个url就没

    2020/04/05
  • js检测页面上一个元素是否已经滚动到了屏幕的可视区域内入门教程_js知识小白攻略

    应用场景:只要页面加载了,其中在页面中出现的li就向控制台输出第几个发送请求;在本次加载的页面中,再将滚动条滚回前边的li,不再向控制台输出东西,也就是说已经显示过的li,不再向控制台输出东西。

    • 0001
    • 0002
    • 0003
    • 0004</li
    2020/04/03