繁体   English   中英

Spark驱动程序如何决定要使用哪些Spark执行器?

[英]How spark driver decides which spark executors are to be used?

Spark驱动程序如何确定特定的工作将使用哪些执行程序?

是数据本地驱动的吗?
是否根据该数据节点上数据的可用性来选择执行者?
如果是的话,如果所有数据都存在于单个数据节点上并且该数据节点仅具有足够的资源来运行2个执行程序,那么会发生什么,但是在spark-submit命令中,我们使用了--num-executors 4 哪个应运行4个执行程序?

Spark驱动程序是否会将某些数据从该数据节点复制到其他数据节点,并产生另外2个执行器(在4个必需的执行器中)?

Spark依赖于数据局部性; 实际上,DAG调度程序将尝试调度最大任务,以便在与执行程序相同的节点上处理要处理的数据。 spark.locality.wait是一个参数(默认值为3),其本质上意味着如果在最近3秒钟内没有完成节点本地化的任务,那么它将开始执行从其他节点获取数据的任务(按照机架感知原则)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM