如果我们减少每个执行程序的核心数并增加执行器的数量,spark 如何管理 IO 性能



根据我的研究,每当我们运行 Spark 作业时,我们不应该运行超过 5 个内核的执行器,如果我们增加的内核超过限制作业将因 I/O 吞吐量不佳而受到影响。

我的怀疑是,如果我们增加执行程序的数量并减少内核,即使这样,这些执行程序最终也会在同一台物理机器中,并且这些执行程序将从同一磁盘读取并写入同一磁盘,为什么这不会导致 I/O 吞吐量问题。

可以考虑 Apache Spark:内核数与执行器数

用例供参考。

执行器中的核心就像线程。因此,就像如果我们增加并行性会完成更多工作一样,我们应该始终记住它是有限制的。因为我们必须从这些并行任务中收集结果。

最新更新