Prefer a staging table plus validation gate before promoting to prod tables.
Added a broadcast(dim_table) hint expecting a broadcast join, but the job runtime didn't change at all. Suspect it's silently ignoring the hint.
df.join(F.broadcast(dim_table), "id")How do you confirm which join strategy actually ran?
Prefer a staging table plus validation gate before promoting to prod tables.
Careful with NULL in join keys, they'll drop rows in an inner join.
In our case the root cause was an implicit cast preventing pushdown.
Run df.join(...).explain() and look for BroadcastHashJoin vs SortMergeJoin in the physical plan. The hint is a request, not a guarantee, Spark can override it.
Prefer a staging table plus validation gate before promoting to prod tables.
Sometimes the real fix is a product change so you stop needing that join at all.
In our case the root cause was an implicit cast preventing pushdown.
Plain English: the system prefers to guess a good-enough plan than the perfect plan, because figuring out the perfect plan would take longer than just running the good-enough one.
Sign in to reply.
© 2026 Lakebench, operated by Hunnurji Rao. Bengaluru, Karnataka, India.
No cluster. No install. Just the tab.