I have trouble to find in the Spark documentation operations that causes a shuffle and operation that does not. In this list, which ones does cause a shuffle and which ones
Here is the generalised statement on shuffling transformations.
Transformations which can cause a shuffle include repartition operations
like repartition and coalesce, ‘ByKey operations (except for counting)
like groupByKey and reduceByKey, and join operations like cogroup and
join.