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

相关推荐
绝缘体129 分钟前
如何使用外卖霸王餐api接口?
大数据·搜索引擎·微信·pygame
幂链iPaaS1 小时前
市场六大专业iPaaS平台怎么选
大数据·人工智能
闻哥1 小时前
从测试坏味道到优雅实践:打造高质量单元测试
java·面试·单元测试·log4j·springboot
珠海西格1 小时前
光伏电站全景感知体系:数据采集与设备状态监测技术
大数据·运维·服务器·数据库·人工智能
代码匠心1 小时前
从零开始学Flink:Flink SQL 极简入门
大数据·flink·flink sql·大数据处理
stevenzqzq2 小时前
git 常用操作
大数据·git
JZC_xiaozhong2 小时前
多系统权限标准不统一?企业如何实现跨平台统一权限管控
java·大数据·微服务·数据集成与应用集成·iam系统·权限治理·统一权限管理
WZGL12302 小时前
“十五五”发展展望:以社区为底座构建智慧康养服务
大数据·人工智能·物联网
龙亘川2 小时前
政务数据治理实践:从架构搭建到价值释放的全流程探索
大数据·政务数据之道》白皮书·政务数据治理
历程里程碑3 小时前
普通数组----最大子数组和
大数据·算法·elasticsearch·搜索引擎·排序算法·哈希算法·散列表