Java 只有一个执行器在spark中运行。只有师父在工作,没有人在工作

Java 只有一个执行器在spark中运行。只有师父在工作,没有人在工作,java,apache-spark,Java,Apache Spark,由于集群中有10个节点,每个节点由2个核心组成,总共有20个核心。我已将num executors设置为20。但是现在只有一台主计算机在工作。其他18芯在哪里? 下面是显示的UI视图的列表图像 性能: 我的spark提交代码如下: ./bin/spark-submit --class Package.Class --master spark://master-url:7077 --deploy-mode client --num-executors 20 /home/ec2-user/A

由于集群中有10个节点,每个节点由2个核心组成,总共有20个核心。我已将num executors设置为20。但是现在只有一台主计算机在工作。其他18芯在哪里?

下面是显示的UI视图的列表图像 性能:

我的spark提交代码如下:

./bin/spark-submit --class Package.Class --master spark://master-url:7077 --deploy-mode client --num-executors 20  /home/ec2-user/AWS.jar

我能做些什么来提高性能,使每台计算机都能集中在一起,并具有所需数量的阶段或作业?

您正在阅读哪种类型的文件?如果此文件是一个拼花地板压缩文件,则只有一个工人。我有.gz压缩文件。我使用此行读取文件-->sparkSession.read().format(“json”).load(路径);也许这就是原因。加载文件后,尝试使用
coalese
repartition
功能。把你的工人人数写下来。这可能会解决您的问题,我尝试过使用此选项,但性能相同,没有改进-->sparkSession.read().format(“json”).load(profile).repartition(sc.defaultMinPartitions()*3);您正在阅读什么类型的文件?如果此文件是一个拼花地板压缩文件,则只有一个工人。我有.gz压缩文件。我使用此行读取文件-->sparkSession.read().format(“json”).load(路径);也许这就是原因。加载文件后,尝试使用
coalese
repartition
功能。把你的工人人数写下来。这可能会解决您的问题,我尝试过使用此选项,但性能相同,没有改进-->sparkSession.read().format(“json”).load(profile).repartition(sc.defaultMinPartitions()*3);