Это очень распространенная ситуация;действительно, вы обычно конфигурируете свои задания так, чтобы было больше задач, чем исполнителей (см. https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/)
Spark создаст задачу для каждого раздела и распределит задачи среди доступных исполнителей (помните, что исполнитель)может иметь несколько ядер, поэтому он может обрабатывать более одной задачи одновременно).
Таким образом, каждый исполнитель будет обрабатывать свою долю разделов, пока все они не будут обработаны.
Spark также попытается датьзадачи для исполнителей, которые являются локальными для данных, где это возможно («локальность» - см., например, Что означает «Уровень локальности» в кластере Spark ), чтобы минимизировать объем данных, которые необходимо переместитьвокруг скопления.