深入探究Spark -- 了解Executor和参数配置

创建与分配Executor的方式根据各种资源调度方式的不同而有差异,但拿到Executor后每种资源调度方式下的Executor的运作都一样,并由Executor完成最终的计算
 
Task在Executor中执行时涉及到依赖环境的创建和分发、任务执行、任务结果的处理、Driver端的处理(书中有详细介绍,但和前面Scheduler感觉有重复部分)
 
 
 
Executor的工作参数设置:
 
spark.executor.memory:
 
配置Executor最多使用的内存大小,原理是设置Executor的JVM Heap尺寸实现。由于内存资源有限,此参数设置过大会导致部分任务分配不到资源,设置过小会产生频繁的垃圾回收和读写磁盘
 
每个Executor可以支持的Task数量取决于持有的CPU core的数量
 
准确评估数据集,要看在BlockManager的日志中的RDD cache,每个cache分区大小
 
内存比较紧张时,可以合理规划分区任务的数据规模,如增加分区数可增加任务数,减小每个任务的处理量
 
 
日志相关:
 
spark.eventLog.enabled设置为true打开日志保存到本地,方便调试和追踪问题,但日志需要定时清理,清理策略可以设置:
 
 
spark.executor.heartbeatInterval:
 
Executor和Driver的心跳间隔,就是汇报运行和统计信息的间隔
 
 
 
 

转载于:https://www.cnblogs.com/kinghey-java-ljx/p/8522589.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值