spark.task.cpus
是为每个任务分配的核心数,--executor-cores
指定每个执行者的核心数。
执行者与任务之间存在细微差别,如here所述。
要知道每个核心可以运行多少个线程,请通过this发布。
根据链接:
创建SparkContext时,每个worker都会启动一个执行程序。这是一个单独的进程(JVM)。执行程序连接回驱动程序。现在驱动程序可以发送命令,如flatMap,map和reduceByKey,这些命令都是任务。
了解每个核心运行cpu支持的线程数lscpu
并检查Thread(s) per core:
的值。