**Shuffle**: Redistribution of data across partitions so that rows with same key land on same partition. Required for groupBy, join, distinct.
**Why Important**: Enables global aggregations and joins. But **expensive**—network I/O, serialization, disk (if spill). Often the bottleneck.
**Minimize**: (1) Broadcast small tables. (2) Column pruning before shuffle. (3) Partition by key when writing. (4) Filter before shuffle. (5) Coalesce after filter....
The complete answer continues with detailed implementation patterns, architectural trade-offs, and production-grade considerations. It covers performance optimization strategies, common pitfalls to avoid, and real-world examples from companies like Freecharge. The answer also includes follow-up discussion points that interviewers commonly explore.
Continue Reading the Full Answer
Unlock the complete expert answer with code examples, trade-offs, and pro tips - plus 1,863+ more.
Or upgrade to Platform Pro - $39
Engineers who used these answers got offers at
AmazonDatabricksSnowflakeGoogleMeta
According to DataEngPrep.tech, this is one of the most frequently asked Spark/Big Data interview questions, reported at 1 company. DataEngPrep.tech maintains a curated database of 1,863+ real data engineering interview questions across 7 categories, verified by industry professionals.