spark Document: In Spark, data is generally not distributed across partitions to be in the necessary place for a specific operation. During computations, a single task will operate on a single partition - thus, to organize all the data for a single reduceByKey reduce task to execute, Spark needs to perform an all-to-all operation. It must read from all partitions to find all the values for all keys, and then bring together values across partitions to compute the final result for each key - this is called the shuffle.
spark document: "This typically involves copying data across executors and machines, making the shuffle a complex and costly operation."
my understanding is:"This typically involves copying data across "task", making the shuffle a complex and costly operation."
I think computing shuffle across tasks. Is this understanding correct?