Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如果我们减少每个执行器的内核数并增加执行器数,spark如何管理IO性能_Apache Spark - Fatal编程技术网

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

Apache spark 如果我们减少每个执行器的内核数并增加执行器数,spark如何管理IO性能,apache-spark,Apache Spark,根据我的研究,无论何时运行spark作业,我们都不应该运行具有超过5个内核的执行器,如果我们将内核增加到超出限制,则由于I/O吞吐量差,作业将受到影响 我的疑问是,如果我们增加执行器的数量并减少内核,即使这些执行器最终会在同一台物理机器上,并且这些执行器将从同一个磁盘读取数据并写入同一个磁盘,为什么这不会导致I/O吞吐量问题 可以考虑 用例供参考。执行器中的核心类似于线程。所以,就像我们增加并行性会做更多的工作一样,我们应该始终记住它是有限制的。因为我们必须收集这些并行任务的结果 我不明白,请

根据我的研究,无论何时运行spark作业,我们都不应该运行具有超过5个内核的执行器,如果我们将内核增加到超出限制,则由于I/O吞吐量差,作业将受到影响

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

可以考虑


用例供参考。

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

我不明白,请您详细说明一下,我的疑问是,通过减少进程内的线程数和增加同一台机器内的进程数,如何减少磁盘I/O:(当你选择更多的内核时,你会增加与执行器的并行性。这是有限的,因为你必须从更多的线程/内核收集结果。因此会有更多的调用。如果你看了答案,他们提到HDFS I/O吞吐量差是问题所在,但是如果我们用更少的内核运行更多的执行器,那么会有来自不同pro的多个线程试图从同一台机器内的hdfs访问数据块的访问也会导致糟糕的hdfs I/O吞吐量。这是如何解决的,我不理解这一部分。