saprk驱动程序如何决定哪些执行程序用于特定作业?
是数据位置驱动?
是否根据该datanode上的数据可用性选择执行程序?
如果是,如果所有数据都出现在单个数据节点上并且数据节点有足够的资源来运行2个执行程序会发生什么,但在spark-submit命令中我们使用了 --num-executors 4。哪个应该运行4个执行器?
spark驱动程序会将该数据节点中的一些数据复制到其他一些数据节点,并产生2个以上的执行程序(4个必需的执行程序中)吗?
Spark依赖于数据局部性; 实际上,DAG Scheduler将尝试调度最大任务,其中要处理的数据与执行程序在同一节点上。spark.locality.wait是一个参数(默认值为3),这实际上意味着如果在节点局部性的最后3秒内没有完成任务,那么它将开始执行从其他节点获取数据的任务(根据机架感知原则)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。