1.
Общее правило: каждая стадия - это случайная операция,
случайные операции - это операции, которые в конечном итоге необходимо будет сократить до одного компьютера (т.е. уменьшить, объединить, сосчитать)
Это означает, что не все задачи могут выполняться одновременно (хотя могут запускаться задачи), и они требуют перемещения данных между исполнителями. Это означает, что эти операции очень дороги для обычных операций преобразования (т. Е. Фильтр карты).
Именно поэтому этапы создаются в соответствии с операциями тасования.
Одним из самых больших преимуществ в Spark для картографирования с точки зрения скорости является то, что после того, как вы настроите исполнителя, он, как правило, останется в живых на время работы, поэтому выполнение двух небольших операций с картами обычно объединяется в одну карту позади. сцены. То же самое нельзя сделать с помощью операций случайного воспроизведения.
Итак, подведем итог: каждый этап содержит задачи, которые могут выполняться параллельно.
2
количество задач, которые могут быть запущены одновременно, составляет (num исполнителей * num ядер на каждого исполнителя)
3
разные этапы не выполняются параллельно только задачам