Spark 执行流程&内存管理&SparkSQL

本文详细介绍了Spark的任务执行流程,包括YARN-Client与YARN-Cluster模式的区别,以及统一内存管理下的内存分配。还探讨了SparkSQL的DataFrame、Catalyst工作流程和优化策略,强调了代码优化、数据倾斜处理和内存缓存等性能提升方法的重要性。
摘要由CSDN通过智能技术生成

Spark 的相关概念我们整理清楚了,接下来就是让 Spark “跑起来”,让我们看看它是怎么运行的,包括它的任务提交和执行流程,执行过程中的内存管理机制,以及 SparkSQL 的执行和优化。掌握执行流程相关的内容对 Spark 任务的 debug 和优化有很大帮助,可以帮助我们迅速定位到哪个执行的环节出了问题,或者哪里出现了瓶颈,解决此类问题通常是大数据工程师的日常工作,所以这不仅仅是对知识点的考察,也是对工作能力的考察。

本篇面试内容划重点:内存动态占用,Catalyst,优化方法

任务执行流程

image.png

Spark 任务的提交和执行离不开和资源管理器的交互,此处抽象了资源管理器,没有区分 on Standalone 还是 on Yarn,因为调度架构是类似的。(Yarn 相关任务处理流程后续会有专门章节说明)。

  1. Client 客户端提交运行 Spark Application 应用,应用中创建 SparkContext,由它负责与 ClusterManager(资源管理中心) 通信,进行 Executor 资源的申请。
  2. ClusterManager 在健康的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老蒙大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值