开发者社区> 问答> 正文

spark driver如何决定使用哪个spark执行器?

saprk驱动程序如何决定哪些执行程序用于特定作业?

是数据位置驱动?
是否根据该datanode上的数据可用性选择执行程序?
如果是,如果所有数据都出现在单个数据节点上并且数据节点有足够的资源来运行2个执行程序会发生什么,但在spark-submit命令中我们使用了 --num-executors 4。哪个应该运行4个执行器?

spark驱动程序会将该数据节点中的一些数据复制到其他一些数据节点,并产生2个以上的执行程序(4个必需的执行程序中)吗?

展开
收起
社区小助手 2018-12-19 16:36:27 2392 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

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

    2019-07-17 23:23:01
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载