В вашем сценарии вам необходимо обновить количество ядер.
В spark каждый раздел берется для выполнения одной задачей spark.Поскольку у вас есть 3 исполнителя и 4 раздела, и если вы предполагаете, что у вас есть всего 3 ядра, т.е. одно ядро на исполнителя, тогда 3 раздела данных будут работать параллельно, и один раздел будет занят, как только одно ядро для исполнителя будет свободным.Чтобы справиться с этой задержкой, нам нужно увеличить spark.executor.cores = 2.Т.е. каждый исполнитель может запускать 2 потока одновременно, т.е. 2 задачи одновременно.
Таким образом, все ваши разделы будут выполняться параллельно, но это не гарантирует, будет ли 1 исполнитель выполнять 2 задачи, а 2 исполнителя выполнят однукаждый или два исполнителя будут выполнять 2 задания на 2 отдельных разделах, при этом один исполнитель будет бездействовать.