根据我的研究,每当我们执行spark作业时,我们都不应运行具有5个以上内核的执行器,如果将内核增加到超出限制的工作量,则会由于I / O吞吐量下降而受到损害。
我的疑问是,如果我们增加执行程序的数量并减少内核,那么即使这些执行程序将最终驻留在同一台物理计算机上,而这些执行程序却将从同一磁盘读取并写入同一磁盘,为什么呢?这不会导致I / O吞吐量问题。
可以考虑 Apache Spark: The number of cores vs. the number of executors
用例供参考。
答案 0 :(得分:0)
执行器中的核心就像线程。因此,就像如果我们增加并行度需要做更多的工作一样,我们应该始终牢记它是有限度的。因为我们必须从这些并行任务中收集结果。