Spark和Hadoop的架构区别解读

news/2025/7/8 15:22:02

总的来说,Spark采用更先进的架构,使得灵活性、易用性、性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高。我总结,具体表现在如下几个方面:

 

框架:

 

·Hadoop:MapRedcue由Map和Reduce两个阶段,并通过shuffle将两个阶段连接起来的。但是套用MapReduce模型解决问题,不得不将问题分解为若干个有依赖关系的子问题,每个子问题对应一个MapReduce作业,最终所有这些作业形成一个DAG。

 

·Spark:是通用的DAG框架,可以将多个有依赖关系的作业转换为一个大的DAG。核心思想是将Map和Reduce两个操作进一步拆分为多个元操作,这些元操作可以灵活组合,产生新的操作,并经过一些控制程序组装后形成一个大的DAG作业。

 

中间计算结果处理:

 

·Hadoop:在DAG中,由于有多个MapReduce作业组成,每个作业都会从HDFS上读取一次数据和写一次数据(默认写三份),即使这些MapReduce作业产生的数据是中间数据也需要写HDFS。这种表达作业依赖关系的方式比较低效,会浪费大量不必要的磁盘和网络IO,根本原因是作业之间产生的数据不是直接流动的,而是借助HDFS作为共享数据存储系统。

 

·Spark:在Spark中,使用内存(内存不够使用本地磁盘)替代了使用HDFS存储中间结果。对于迭代运算效率更高。

 

操作模型:

 

·Hadoop:只提供了Map和Reduce两种操作所有的作业都得转换成Map和Reduce的操作。

 

·Spark:提供很多种的数据集操作类型比如Transformations 包括map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues,sort,partionBy等多种操作类型,还提供actions操作包括Count,collect, reduce, lookup, save等多种。这些多种多样的数据集操作类型,给开发上层应用的用户提供了方便。


https://dhexx.cn/news/show-3787554.html

相关文章

centos下LNMP环境搭建

为什么80%的码农都做不了架构师?>>> 新买的云服务器,默认用户只有root,为了防止误操作,还是添加一个管理员为妙。 [rootlocalhost ~]# useradd maohao添加管理员权限 [rootlocalhost home]# vi /etc/sudoers ## Allow…

百度闪电裁员20人被疑违反劳动法

百度闪电裁员20人被疑违反劳动法 <script language"JavaScript" type"text/javascript">function doZoom(size){document.getElementById(pzoom).style.fontSizesizepx;}</script> ◇字体&#xff1a;&#xff3b;大 中 小&#xff3d; 发表评…

深度学习时代的计算机视觉

人工智能&#xff0c;作为计算机科学的一个分支。 从1956年夏季麦卡赛、明斯基、罗切斯特和申农等一批有远见卓识的年轻科学家首次提出&#xff0c;到2006年机器学习泰斗Geoffrey Hinton和他的学生RuslanSalakhutdinov在《科学》上发表了一篇开启深度学习在学术界和工业界浪潮…

《软件测试管理》第14章 软件测试常见问题——(一)基础知识部分

基础知识常见问题1、 如何描述一个缺陷&#xff1f;看到这个问题&#xff0c;也许有些读者会觉得可笑&#xff1a;哪个测试人员不会描述缺陷&#xff1f;但是现实中却真的存在很多测试人员提交的缺陷需要向开发人员进行解释或者演示后&#xff0c;才能让人明白他真正要表达的意…

只有初学者才能看懂的 Spring Boot

技术语言革新极快的今天&#xff0c;尤其对于需要技术沉淀的后端工程师来说&#xff0c;靠什么实力逆风翻盘&#xff1f; 在 Java 框架尚且繁荣的当下&#xff0c;Spring Boot 无疑最火最实用的&#xff0c;也是必不可少的开源框架&#xff0c;完全有实力稳坐 Java 后端框架的…

ATM跨行查询也开始收费了

昨天看自己的农户帐单记录&#xff0c;发现有两笔0.3元&#xff0c;原来跨行查询也开始收费了。 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId913385

第11周学习进度

时间 学习花费的时间代码量博客量了解到的知识点第11周 周一晚上&#xff08;9:00-10:00&#xff09;看了一些jsp的视频 周二&#xff08;8:00-9:50&#xff09;软件工程概论 周二&#xff0c;周三&#xff0c;周四下午都拿出了两个小时来学android 15003代码的规范&#xff…

有中国特色的测试论坛

看了很多论坛&#xff0c;也和很多行业的兄弟交流过。多数对测试论坛的帖子颇有感触&#xff0c;于是很多高手不爱上测试论坛。仔细看看&#xff0c;主要有下面几类&#xff1a;发帖子找测试工具下载地址、license的&#xff0c;尤其是测试工具&#xff0c;这个最多。在论坛互喷…

物联网技术周报第 117 期: 使用 Node-RED、Docker 和 resin.io 将 Serverless 扩展到物联网边缘...

新闻\\\ 《物联网时代OS&#xff1a;亚马逊开源Amazon FreeRTOS!》Amazon FreeRTOS 是微控制器的操作系统&#xff0c;它使小型、低功耗的边缘设备易于编程、部署、安全&#xff0c;连接和管理。Amazon FreeRTOS 基于 FreeRTOS 内核&#xff0c;这是一款面向微控制器的流行开源…