标签: apache-spark
我在本地机器上运行Spark,有8个内核,我知道我可以使用“local [num_threads]”作为主机,并使用括号中的“num_threads”来指定Spark使用的线程数
然而,似乎Spark经常使用比我要求的更多的线程。例如,如果我只为Spark指定1个线程,通过在Linux上使用top命令,我仍然可以观察到cpu使用率通常超过100%甚至200%,这意味着Spark实际使用了1个以上的线程
如果我需要同时运行多个程序,这可能是个问题。如何控制Spark严格使用的线程/内核数量?
答案 0 :(得分:0)
Spark为其调度程序使用一个线程,这解释了您看到的使用模式。如果并行启动n个线程,则会使用n+1个核心。
n
n+1
有关详细信息,请参阅scheduling doc。