一、资源
任何计算都不不开资源的开销,如何把资源利用到极致显得非常重要。
drive process向Resource Manager申请任务资源,yarn给executor进程分配资源,Executors的内存重要分为三种:
(1)executor内存(60%):执行内存,执行shuffle(join)的时候,shuffle会用这个内存区来存储数据,如果溢出写磁盘
(2)storage内存(20%):存储缓存,cache、presist、broadcast
(3)other内存(20%):应用程序
附:Task的执行速度和每个executor进程的CPU Core数量有直接关系,一个CPU Core同一时间只能执行一个线程,每个executor进程上分配到的多个task,都是以task一条线程的方式,多线程并发运行的。如果CPU Core数量比较充足,而且分配到的task数量比较合理,那么可以比较快速和高效地执行完这些task线程
资源的利用方面,需要从以下几个参数进行优化:
1.num-executors:该作业总共需要