#apache-spark
#apache-spark
Вопрос:
Может ли Spark изменять количество исполнителей во время выполнения?
Например, в действии (задании) этап 1 выполняется с 4 исполнителями * 5 разделами на исполнителя = 20 разделов параллельно.
- Если я перераспределю с помощью .repartition(100), который сейчас находится на этапе 2 (из-за перетасовки перераспределения), может ли в любом случае Spark увеличиться с 4 исполнителей до 5 исполнителей (или более)?
- Если я кэширую некоторые данные на этапе 1, который выполнялся с 4 исполнителями * 5 разделов на исполнителя = 20 разделов, то кэшированные данные должны находиться в оперативной памяти 4 компьютеров. Если я перераспределю с помощью .repartition(2), в этом случае определенно будет задействовано <= 2 машины-исполнителя. Будет ли spark перемещать мои кэшированные данные в активные задачи?