我正在执行spark工作,并注意到在完成几个阶段后,任务闲置了一段时间,然后又重新开始了。
Spark版本-2.2和Java 1.8
总节点数-3(包括主节点)
核心总数-16(每个数据节点8个)
总内存-16 GB(每个8 GB)
下面是我使用的spark提交命令。
spark-submit --master yarn --deploy-mode cluster --executor-memory 1G --executor-cores 2 --num-executors 6 --jars jar1 --class wordcount wordcount.jar
任务进入空闲状态是否有任何原因?如果是,那可能是什么原因。
请找到所附的屏幕快照,该屏幕快照显示一段时间内没有正在运行的活动任务。
谢谢。
答案 0 :(得分:0)
可能您有一些group
操作,并且该操作的结果显示分区数量减少了。
这也可能是一个分布很差的工作(在数据方面很差-一些节点/分区比其他节点/分区更重,您需要等待它们的完成才能进行下一步)。
一些代码示例可以帮助您理解UI截屏,但作为一种可能的解决方案-仔细遍历代码并尝试捕获组/重新分区操作,注意分区方案-mb,这是预期的行为在您的情况下,请仔细检查IO操作(是的,可能您已经检查过-有时也会发生)。