当前位置: 首页 > news >正文

[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)

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

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

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

http://www.lryc.cn/news/480618.html

相关文章:

  • tomcat启动失败和缓存清理办法
  • 【软件测试】需求的概念和常见模型(瀑布、螺旋、增量、迭代)
  • Python爬虫如何处理验证码与登录
  • QT添加资源文件
  • 负载均衡式在线oj项目开发文档(个人项目)
  • Python小白学习教程从入门到入坑------第二十六课 单例模式(语法进阶)
  • 革命性AI搜索引擎!ChatGPT最新功能发布,无广告更智能!
  • windows C#-使用异常
  • 玩的花,云产品也能拼团了!!!
  • HTML+CSS基础【快速上手】
  • mysql分布式锁
  • 探索四款强大的免费报表工具,提升数据可视化能力
  • 电机可靠性影响因素研究
  • GB/T 28046.4-2011 道路车辆 电气及电子设备的环境条件和试验 第4部分:气候负荷(6)
  • 后端接口返回二进制文件,前端 window.opent预览展示
  • 基于STM32的红外遥控接收器
  • K8S网络插件故障处理
  • 优化前端开发中的提示语设计基本原则
  • 飞凌嵌入式FET527N-C核心板现已适配Android 13
  • uniapp 如何修改 返回按钮(左上角+物理按钮+侧滑)触发的返回事件
  • appium启动 install driver安装驱动
  • 【机器学习】均方误差根(RMSE:Root Mean Squared Error)
  • [含文档+PPT+源码等]精品基于springboot实现的原生Andriod广告播放系统
  • 【机器学习】均方误差(MSE:Mean Squared Error)
  • 融合虚拟与现实,AR Engine为用户提供沉浸式交互体验
  • python | xmltodict,一个非常厉害的 关于XML数据 Python 库!
  • 教程:FFmpeg结合GPU实现720p至4K视频转换
  • MeterSphere接口自动化-ForEach循环
  • ssm074应急资源管理系统+jsp(论文+源码)_kaic
  • 怎么对 PDF 添加权限密码或者修改密码-免费软件分享