大数据框架Hadoop和Spark的区别关系_hadoop和spark是两个框架吗-程序员宅基地

技术标签: 程序员  编程语言  编程  大数据  

谈到大数据,相信大家对Hadoop和Apache 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 ​

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指出。

推荐阅读文章

大数据零基础快速入门教程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/okmjsayu/article/details/95104945

智能推荐

使用Aspose在C#中将PLT转换为PDF或JPEG图像_c# 读取plt文件 生成图像-程序员宅基地

文章浏览阅读919次。PLT是用于绘图仪机器的基于矢量的格式。但是,只有少数应用程序支持此格式,因此可能需要根据需要转换为更兼容的格式。使用Aspose只需几个简单的步骤即可将PLT文件转换为PDF,PNG或JPEG图像。让我们学习以下部分以获取更多详细信息:在C#中将PLT转换为PDF文件 在C#中将PLT转换为JPEG图像Aspose.CAD是一个独立的AutoCAD处理API。它提供将DWG,DWF和DXF文件转换为高质量PDF和光栅图像的功能。开发人员可以从AutoCAD文件中选择和转换特定的布局和图层,并轻松跟_c# 读取plt文件 生成图像

作业管理系统设计报告_作业管理专业设计报告-程序员宅基地

文章浏览阅读7.8k次,点赞4次,收藏123次。目录一、 引言(Introduction). 31. 背景(Background). 32. 开发计划的目的. 33. 项目开发参考资料(References). 44. 涉及名词(Related Noun). 4二、 项目概述. 51. 项目目标. 52. 功能模块列表. 5三、 计算机系统支持及开发环境. 71. 开发技术:. 72. 开发硬件. 73. 服务器环境. 74...._作业管理专业设计报告

VisionPro工具与命名空间对照表-程序员宅基地

文章浏览阅读5.4k次,点赞10次,收藏100次。VisionPro工具对应的命名空间项次 分类 名称 命名空间 1 无分类 CogAcqFifoTool Cognex.VisionPro.CogAcqFifoTool 2 CogBlobTool Cognex.VisionPro.Blob 3 CogCaliperTool Cognex.VisionPro.Caliper 4 CogCNLSearchTool C..._visionpro工具与命名空间对照表

认清现实吧 中国大数据产业的痛点和困难-程序员宅基地

文章浏览阅读167次。大数据作为一个新兴的产业,一直在处于舆论的风口浪尖。就像互联网+的概念一样,大数据被神话了,被送上了“宗教”的神坛。大数据企业总是有一个担心,生怕大数据被捧得的太高,将来可能会被摔的很惨。2015年中国大数据产业的热度从贵阳大数据交易所开始,到9月国务院的2015第50号文《促进大数据发展行动纲要》进入高峰,相信10月份的乌镇互联网大会上,大数据还会..._大数据的行业痛点

本周六与您相约 | 计算未来轻沙龙:让机器拥有理解语言的能力-程序员宅基地

文章浏览阅读477次。国庆长假转眼就过去了你是不是死活找不回学习状态?惊闻!有人在你畅饮肥宅快乐水之际已经默默投出了又一篇论文……短短短的假期,也在不停赋能充电怎么样,是不是有点心慌?要是还不..._王炳宁 中科院自动化所

【华为OD机试 2023 B卷 | 200分】We Are A Team(C++ Java JavaScript Python)_华为od we are a team-程序员宅基地

文章浏览阅读9.6k次。总共有 n 个人在机房,每个人有一个标号(1_华为od we are a team

随便推点

FATFS文件系统复制文件_fatfs拷贝文件-程序员宅基地

文章浏览阅读6.3k次。原帖地址:刚刚完成了fatfs下面的文件夹复制,貌似没有问题,Traids之前说的文件夹复制有问题,可以参考一下我这个代码 验证了一下SYSTEM文件夹的COPY,没有问题.以下代码需要用到malloc,在论坛我已经发帖过,可以搜索一下,或者使用系统的malloc.//文件复制//将psrc文件,copy到pdst.//psrc,pdst:源文件和目标文件//fwmode:文件_fatfs拷贝文件

AUTOSAR中各BSW模块_“模块缩写”_“参考文档”以及所属“AUTOSAR软件层级”清单_autosar全局缩写在哪个文档-程序员宅基地

文章浏览阅读5.7k次,点赞8次,收藏73次。目录一、AUTOSAR底层软件BSW模块清单:二、AUTOSAR库清单:三、AUTOSAR特殊文件清单:四、结尾:一、AUTOSAR底层软件BSW模块清单:该清单中详细介绍了各Autosar BSW模块的“缩写”、“参考文档”以及所属的“AUTOSAR软件层级”。Module short name Module abbreviation (API service prefix) Module ID (uint16) Specification d..._autosar全局缩写在哪个文档

Windows 下开启 Telnet 命令-怎么打开telnet端口_window telnet-程序员宅基地

文章浏览阅读5.7k次。windows下开启 telnet 命令_window telnet

Google-diff-match-patch实现比较文本_谷歌文本比对工具包-程序员宅基地

文章浏览阅读805次。工程Demohttp://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.htmlGit源码https://github.com/JanX2/google-diff-match-patch-git-svn参考原文https://blog.csdn.net/iteye_1972/article/details/82101691_谷歌文本比对工具包

unity 调用C++库(android+jni+window dll平台实现)_android jni调用dll-程序员宅基地

文章浏览阅读5.1k次。方便不知道如何再unity调用各平台动态库的同学参考,实测可用:window案例动态库名tracker_model.dll位置unity工程 Assets\Plugins目录下c# 关键调用代码 using UnityEngine;using System.Collections;using System.Runtime.InteropService_android jni调用dll

MATLAB教室人数统计系统-程序员宅基地

文章浏览阅读27次。其次点击‘统计人数’按钮,在代码中取得打开图片的相关数据,将彩色图像转化为灰度图像等等处理,设置路径将此转化处理后的图像显示在axes2,此外还可找到图片中的人脸,绘制边框圈出来,统计出边框的个数反映在text1中,且在此图像上方设置标题‘框出人脸区域’。本课题中,为了界面GUI的美观,刻意将分割出的人脸单独显示在GUI对应的axes里。6.1框架设计该项目要完成的功能是:根据所给的图片,实现自动人脸检测,人数统计,要求含有GUI界面,且算法能够准确的实现人数的统计,拥有较快的运算速度,具有较好的实时性。

推荐文章

热门文章

相关标签