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

相关推荐
dh271198779几秒前
AI幻觉与信任赤字:南京GEO服务商如何帮企业重建AI时代的品牌信用
大数据·人工智能
杰克尼4 分钟前
同城拼车项目面试问题_01
spring·面试·职场和发展
YonyouHRSaaS12 分钟前
2026年AI招聘系统怎么选?AI面试功能怎么评估?
人工智能·面试·职场和发展·求职招聘·ai面试
玖石书21 分钟前
Git Submodule 完全指南:从添加到日常维护的常规操作全流程
大数据·git·elasticsearch
用户36105886261231 分钟前
Flink基础之有状态计算架构分析:状态存在哪、何时存、如何恢复
大数据·flink
写代码像蔡徐抻32 分钟前
三年了,AI为何还没有抢走程序员饭碗?
前端·后端·面试
BYSJMG1 小时前
计算机毕设选题做什么好?基于大数据的用户美食数据分析与可视化,PySpark预处理+ECharts大屏,含Isolation Forest异常检测算法
大数据·python·信息可视化·数据分析·spark·课程设计·美食
YHL1 小时前
🚀 SDD:告别「氛围编程」,迎接规范驱动开发新时代
面试
心易行者1 小时前
用html在线运行做数据可视化大屏,5个实战场景从入门到上线
大数据·前端·数据库·人工智能·python
晴天161 小时前
ES 标准、V8 引擎与 Node.js 版本联动关系全解与实战踩坑
大数据·elasticsearch·node.js