Согласно Learning Spark
Имейте в виду, что перераспределение ваших данных - довольно дорогостоящая операция. Spark также имеет оптимизированную версию repartition(), называемую coalesce(), которая позволяет избежать перемещения данных, но только если вы уменьшаете количество разделов RDD.
Единственное различие, которое я получаю, заключается в том, что при перераспределении() число разделов может быть увеличено/уменьшено, но с coalesce() количество разделов может быть уменьшено только.
Если разделы распределены между несколькими машинами и запущен процесс coalesce(), как он может избежать перемещения данных?