[spark面试]spark与mapreduce的区别---在DAG方面

1、spark中的task是以线程实现的,而mapreduce中是以进程实现的。

进程的频繁启动和停止会增加资源的消耗。

2、spark中支持DAG,而mapreduce不支持DAG

DAG的使用:为什么支持DAG会更加高效

1)、在DAG图中,会将一个job划分为不同的stage,同一个stage会在内存中进行转换,而不同stage之间需要进行shuffle过程,否则对于spark来说,他并不知道哪一个RDD之间的转换需要使用磁盘。------即第三个区别

2)、spark的lazy模式(惰性求值),就是基于DAG图实现的,因为DAG图中存放了task中的血缘关系。

lazy模式的优点:

1、可以**减少数据传输和计算开销,**例如,多个转换操作可以在一次计算中并行执行,避免了多次中间结果的生成和传输。

2、优化执行计划: Spark 可以在执行时分析整个计算图,并应用各种优化技术,如 管道化(Pipelining)合并操作(Operation Fusion)

  1. spark的宽窄依赖和DAG的相互配合可以在某一个分区的数据丢失时,快速恢复,不需要从头开始。

若在一个stage中的有某一个分区的数据丢失,可以通过DAG和窄依赖(父RDD分区的数据只传递给子RDD的某一个分区)对该分区的数据进行回溯,当然若是跨了多个stage,就麻烦了。

3、spark主要是基于一个内存的引擎,而mapreduce是基于磁盘的。

相关推荐
终端域名4 分钟前
域名科普:常见的域名分类及特点
大数据·数字货币域名·网站域名
学嵌入式的小杨同学17 分钟前
【嵌入式 C 语言高频考点】周测 + 期中真题解析:从基础语法到编程实战
c语言·数据结构·数据库·vscode·算法·面试
一点事25 分钟前
windows:zookeeper下载安装教程
windows·分布式·zookeeper
龙山云仓1 小时前
No132:AI中国故事-对话老子——道法自然与AI设计:无为而治、柔弱胜刚强与复杂系统智慧
大数据·人工智能·机器学习
开源能源管理系统1 小时前
MyEMS:开源赋能,构筑智慧能源管理新生态
大数据·开源·能源·能源管理系统
weixin199701080162 小时前
马可波罗 item_get - 获取商品详情接口对接全攻略:从入门到精通
java·大数据·人工智能
我和我导针锋相队2 小时前
在撰写项目书时,如何在有限的篇幅里平衡呈现“问题链”“合作证据链”和“创新落地计划”,避免内容冗余又能清晰传递核心信息?
大数据·运维·人工智能
AllData公司负责人2 小时前
【亲测好用】数据集成管理能力演示
java·大数据·数据库·开源
阿蒙Amon2 小时前
C#每日面试题-值传递和引用传递的区别
java·面试·c#
aloha_7892 小时前
乐信面试准备
java·spring boot·python·面试·职场和发展·maven