I've two medium sized tables (tableA and tableB) where I'm joining tableB twice with tableA on the same join key.
...
from tableA A
left join tableB B1 on A.col1 = B1.col1
left join tableB B2 on A.col2 = B2.col1
I'm seeing that tableB is getting exchanged twice in the spark DAG.

Since, the exchange is happening on the same join key (col1), I was curious on whether the 2nd exchange can be avoided?