Ядро искры и параллелизм задач

У меня очень простой вопрос о свечах. Я обычно запускаю искровые работы, используя 50 ядер. Просматривая ход выполнения задания, в большинстве случаев он показывает 50 процессов, работающих параллельно (как и должно быть), но иногда он показывает только 2 или 4 искровых процесса, работающих параллельно. Как это:

[Stage 8:================================>                      (297 + 2) / 500]

RDD обрабатываютсяrepartitioned на более чем 100 разделах. Так что это не должно быть проблемой.

У меня есть наблюдения, хотя. Я видел закономерность, что большую часть времени это происходит, показывает локальность данных в SparkUI.NODE_LOCALв то время как в других случаях, когда все 50 процессов запущены, некоторые процессы показываютRACK_LOCAL, Это заставляет меня сомневаться, что, возможно, это происходит потому, что данные кэшируются перед обработкой в ​​том же узле, чтобы избежать перегрузки сети, и это замедляет дальнейшую обработку.

Если это так, то как этого избежать? И если это не так, что здесь происходит?

Ответы на вопрос(1)

Ваш ответ на вопрос