Overusing Broadcast Joins Can Trigger Spark OutOfMemory Failures
A popular quick fix for slow Spark shuffles is forcing a broadcast join, which can work initially but becomes risky as the broadcast table grows. Symptoms include stalled executors, heartbeat timeouts, heap-space OutOfMemoryErrors during serialization, and high GC time in the Spark UI. Adding cluster nodes does not help when a single broadcast table exceeds per-executor memory. The article notes that the default auto-broadcast threshold of 10 MB can be misleading, since on-disk file size can inflate several times in memory. It recommends checking the BroadcastExchange operator in the SQL plan, verifying the smaller table is the one being broadcast, and adjusting or disabling the threshold where needed.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)
Log in to join the discussion and vote.
Log in