Reviewed by Aditya Kumar · Last reviewed 2026-03-24
AQE in Spark 3.x performs runtime reoptimization at shuffle boundaries. Three features: (1) Coalesce shuffle partitions (spark.sql.adaptive.coalescePartitions.enabled): post-shuffle, merge undersized partitions into fewer tasks—reduces scheduler overhead and small-task waste....
Red Flag: Setting spark.sql.shuffle.partitions=2 'to speed up'—AQE can't fix too few partitions. Pro-Move: Start with 200–400; let AQE coalesce.
This hard-level Spark/Big Data question appears frequently in data engineering interviews at companies like HashedIn, Snowflake. While less common, it tests deeper understanding that distinguishes strong candidates. Mastering the underlying concepts (join, optimization, partition) will help you answer variations of this question confidently.
This is a senior-level question that tests architectural thinking. Lead with the high-level design, then drill into specifics. Discuss trade-offs explicitly - there is rarely one correct answer. Show awareness of scale, fault tolerance, and operational complexity.
AQE in Spark 3.x performs runtime reoptimization at shuffle boundaries. Three features: (1) Coalesce shuffle partitions (spark.sql.adaptive.coalescePartitions.enabled): post-shuffle, merge undersized partitions into fewer tasks—reduces scheduler overhead and small-task waste. (2) Join strategy switch: if runtime stats show one side small, convert sort-merge to broadcast—eliminates shuffle for that side. (3) Skew join: detect oversized partitions from shuffle stats; split and process in parallel. Config: spark.sql.adaptive.enabled=true; coalesce/skew/join switches each have enable flags. AQE cannot help when: no shuffle (narrow-only stage); skew in sort/aggregate before shuffle; stats are wrong and hint overrides. Scalability: AQE reduces manual tuning; initial shuffle partitions (e.g., 200) matter since coalesce merges down. Cost: minor runtime overhead; large savings from fewer wasted tasks.
Red Flag: Setting spark.sql.shuffle.partitions=2 'to speed up'—AQE can't fix too few partitions. Pro-Move: Start with 200–400; let AQE coalesce.
Some links below are affiliate links. If you buy through them we may earn a small commission at no extra cost to you — it helps keep DataEngPrep free.
According to DataEngPrep.tech, this is one of the most frequently asked Spark/Big Data interview questions, reported at 2 companies. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.