我有一台双核机器(每个核心上有2个线程)。我使用2个不同的spark-submit
参数运行Spark作业。
spark-submit --master local[4]
spark-submit --master local --executor-cores 2
上述两个例子之间真的有什么区别吗?我试图让Spark在Spark" tasks"中使用4个总线程,在每个物理核心上使用2个线程。
答案 0 :(得分:2)
首先,--executor-cores
参数或spark.executor.cores
配置选项不适用于本地模式。结果:
--master local[4]
使用四个工作线程在本地模式下启动Spark。--master local
使用一个工作线程在本地模式下启动Spark。 --executor-core
无效。这仅用于"数据处理"线程。 Spark使用的总线程数可能会大得多。
如果您想要使用四个线程,那么在不进入操作系统和计划详细信息的情况下,第一个选项是您正在寻找的选项。