[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是基于磁盘的。

相关推荐
我是一颗柠檬6 小时前
【MySQL全面教学】MySQL面试高频考点汇总Day15(2026年)
数据库·后端·mysql·面试
段一凡-华北理工大学7 小时前
2026 高炉炼铁智能化技术全景与演进路径~系列文章11:演进路径与行业未来
大数据·网络·人工智能·算法·工业智能体·高炉炼铁智能化
搞科研的小刘选手7 小时前
【中山大学主办】第六届计算机科学与区块链国际学术会议(CCSB 2026)
分布式·神经网络·计算机视觉·区块链·计算机科学·共识算法·自然语言
狒狒热知识7 小时前
合规筑基专业赋能178软文网引领软文营销行业规范化发展
大数据
swipe8 小时前
DeepAgents 实战:用多 Agent 架构搭一个深度调研助手
javascript·面试·llm
小饼干在学嘎瓦8 小时前
本地缓存和分布式缓存如何选择?
分布式·缓存
雪宫街道8 小时前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试
ZGi.ai9 小时前
企业AI资产管理体系:提示词、工作流、知识库应该怎么管
大数据·知识库·工作流编排·ai资产·提示词管理
XLYcmy10 小时前
全链路验证测试系统:一个针对智能代理(Agent)系统全链路能力的自动化验证脚本
分布式·python·http·网络安全·ai·llm·agent
爱分享的康康10 小时前
低成本自动驾驶数据采集设备理性分析:康谋入门套装适配性解析
大数据·人工智能