I was going through the Spark SQL for a join optimised using Adaptive Query Execution,
On the right side, spark get to know the size of table is small enough for broadcast and therefore decides for broadcast hash join.
As we know, broadcast hash join in a narrow operation, why do we still have exchange in the left table (large one)
Even in the final Physical plan, exchange is there