Spark Executor GC负载高

1、调整内存与并发相关的参数(以下参数根据任务特点选一个或多个参数调整优化):

如spark.executor.memory 参数一般向大调整

spark.sql.shuffle.partitions 参数向大调整

spark.executor.cores参数向小调整

spark.dynamicAllocation.maxExecutors参数向大调整

spark.driver.memory参数 向大调整(注意cgroup值也做相应调整)

2、去掉mapjoin hit,如果用户有使用/*mapjoin*/ hit的用户建立都删除

3、如果同时收到“Spark Broadcast阈值不合理”,请优化处理“Spark Broadcast阈值不合理”报警

解决方案一般有两种。

一、调高并行度。调高并行度,一般的参数是spark.sql.shuffle.partitions

二、调高executor的规格。一般只需要适当调高spark.executor.memory。

优化方法:

1.调整内存相关的参数。

spark.executor.memory=$[目前值]*1.5

查看 [目前值] 的方法:

打开自己需要优化的任务

2.如果上述优化效果不明显, 请继续按照下述方法进行优化:

  • spark.sql.shuffle.partitions 参数向大调整
  • spark.executor.cores参数向小调整
  • 去掉mapjoin hit,如果用户有使用/*mapjoin*/ hit的用户建立都删除
  • 如果同时收到“Spark Broadcast阈值不合理”,请优化处理“Spark Broadcast阈值不合理”报警   ,添加参数 spark.sql.autoBroadcastJoinThreshold=-1

3. Executor OOM

这种情况下,单个container中 加载同样数据的情况下,跑的线程数过多,可能导致此种情况,增加executor的memory,并且减少executor的core数量;

core:memeory=1:4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值