spark-submit --master --local [4]是否将整个应用程序限制为4个内核,或者仅激发spark工人?

时间:2018-09-11 02:30:15

标签: apache-spark

我有一个Tensorflow程序,我想在一个仅具有很少的Spark依赖关系的AWS EMR集群的主节点上运行-我想执行一个spark提交命令,以使tensorflow尽可能多地使用资源。我在想如果我这样做

spark-submit --master local[4] myprogram.py

那种火花只能得到4个内核,而myprogram.py将得到其余的内核-但是也许我将整个应用程序中的内核数量限制为只有4个? (假设主节点有32个核心)

tensorflow程序不是分布式的-整个流程是一个很大的spark应用程序,它使用任务节点执行大量ETL,然后训练仅发生在主节点上,但是训练仍然使用了spark-即尴尬-通常我会为tensorflow和pyspark创建自己的python环境,但是由于我使用的是EMR,所以我不想管理两个spark安装。

1 个答案:

答案 0 :(得分:0)

使用display,通过4个工作线程在本地运行Spark。

即使您的集群具有32个核心,spark应用程序也将仅使用4个核心。

部署将是非分布式单JVM部署模式,Spark在同一单个 JVM 中生成所有执行组件-B

要启动的display主URL 中指定的线程数控制。在您的情况下,任务数为4。