Java 为什么在运行Spark作业时任务会闲置一段时间

Java 为什么在运行Spark作业时任务会闲置一段时间,java,scala,apache-spark,Java,Scala,Apache Spark,我正在运行spark作业,并注意到在完成几个阶段后,任务会闲置一段时间,然后再次启动 Spark版本-2.2和Java 1.8 节点总数-3(包括主节点) 核心总数-16(每个数据节点8个) 总内存-16 GB(每个内存8个) 下面是我使用的spark submit命令 spark-submit --master yarn --deploy-mode cluster --executor-memory 1G --executor-cores 2 --num-executors 6 --jars

我正在运行spark作业,并注意到在完成几个阶段后,任务会闲置一段时间,然后再次启动

Spark版本-2.2和Java 1.8

节点总数-3(包括主节点)

核心总数-16(每个数据节点8个)

总内存-16 GB(每个内存8个)

下面是我使用的spark submit命令

spark-submit --master yarn --deploy-mode cluster --executor-memory 1G --executor-cores 2 --num-executors 6 --jars jar1  --class wordcount wordcount.jar
任务进入空闲状态有什么原因吗?。如果是,原因可能是什么

请查看所附的屏幕截图,其中显示一段时间内没有活动任务正在运行


谢谢。

可能您进行了一些
操作,并且此操作的结果是分区数量减少

此外,它可能是一个分布不好的作业(数据方面不好-某些节点/分区比其他节点/分区重,您需要等待它们完成后才能进入下一步)

一些代码示例有助于理解此UI屏幕截图,但作为一种可能的解决方案,您只需仔细阅读代码,并尝试捕获组/重新分区操作,注意分区方案—mb这是您案例中的预期行为,并仔细检查IO操作(是的,这可能是您已经检查过的smth,但有时也会发生)