Spark 性能调优--资源调优

本文详细介绍了Spark作业的资源调优,包括Executor和Driver进程的角色、任务执行原理以及关键参数如num-executors、executor-memory、executor-cores、driver-memory的设定。强调了Executor内存的三个组成部分,提出了合理设置task数量、RDD持久化内存和Shuffle操作内存比例的建议,以提升Spark作业的性能和避免内存溢出问题。
摘要由CSDN通过智能技术生成

资源调优

在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置

Spark作业基本运行原理

Spark作业基本运行原理

  1. spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程
  2. 根据你使用的部署模式(deploy-mode:client/cluster)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动
  3. Driver进程本身会根据我们设置的参数,占有一定数量的内存和CPU Core
  4. Driver进程要做的第一件事情,就是向集群管理器(可以是Spark Standalone集群,也可以是YARN)申请运行Spark作业需要使用的资源。资源指的就是Executor进程。在各个工作节点上,启动一定数量的Executor进程,每个Executor进程都占有一定数量的内存和CPU Core
  5. 在申请到了作业执行所需的资源之后,Driver进程就会开始调度和执行我们编写的作业代码了
  6. Driver进程会将我们编写的Spark作业代码分拆为多个Stage,每个Stage执行一部分代码片段,并为每个Stage创建一批Task,然后将这些Task分配到各个Executor进程中执行
  7. Task是最小的计算单元,负责执行一模一样的计算逻辑(也就是我们编写的某个代码片段),只是每个Task处理的数据不同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值