Apache spark 如果我们减少每个执行器的内核数并增加执行器数,spark如何管理IO性能
根据我的研究,无论何时运行spark作业,我们都不应该运行具有超过5个内核的执行器,如果我们将内核增加到超出限制,则由于I/O吞吐量差,作业将受到影响 我的疑问是,如果我们增加执行器的数量并减少内核,即使这些执行器最终会在同一台物理机器上,并且这些执行器将从同一个磁盘读取数据并写入同一个磁盘,为什么这不会导致I/O吞吐量问题Apache spark 如果我们减少每个执行器的内核数并增加执行器数,spark如何管理IO性能,apache-spark,Apache Spark,根据我的研究,无论何时运行spark作业,我们都不应该运行具有超过5个内核的执行器,如果我们将内核增加到超出限制,则由于I/O吞吐量差,作业将受到影响 我的疑问是,如果我们增加执行器的数量并减少内核,即使这些执行器最终会在同一台物理机器上,并且这些执行器将从同一个磁盘读取数据并写入同一个磁盘,为什么这不会导致I/O吞吐量问题 可以考虑 用例供参考。执行器中的核心类似于线程。所以,就像我们增加并行性会做更多的工作一样,我们应该始终记住它是有限制的。因为我们必须收集这些并行任务的结果 我不明白,请
可以考虑
用例供参考。执行器中的核心类似于线程。所以,就像我们增加并行性会做更多的工作一样,我们应该始终记住它是有限制的。因为我们必须收集这些并行任务的结果 我不明白,请您详细说明一下,我的疑问是,通过减少进程内的线程数和增加同一台机器内的进程数,如何减少磁盘I/O:(当你选择更多的内核时,你会增加与执行器的并行性。这是有限的,因为你必须从更多的线程/内核收集结果。因此会有更多的调用。如果你看了答案,他们提到HDFS I/O吞吐量差是问题所在,但是如果我们用更少的内核运行更多的执行器,那么会有来自不同pro的多个线程试图从同一台机器内的hdfs访问数据块的访问也会导致糟糕的hdfs I/O吞吐量。这是如何解决的,我不理解这一部分。