Your question is Minimizing Spark Data Shuffling. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
What is data shuffling in Spark, why is it expensive, and how can you minimize or avoid it?
Answer this as a practical ETL optimization task. Explain which transformations trigger exchanges, demonstrate how partitioning, broadcast joins, map-side aggregation, and data-skew handling affect shuffle behavior, and describe how you would validate improvements using Spark UI and runtime metrics.