title: Dataframe left outer join not working correctly in Spark
body: <p>I have two dataframe with below schema:</p>
  
  <pre><code>clusterDF schema
  root
   |-- cluster_id: string (nullable = true)
  
  df schema
  root
   |-- cluster_id: string (nullable = true)
   |-- name: string (nullable = true)
  </code></pre>
  
  <p>Trying to join these using</p>
  
  <pre><code>val nameDF  = clusterDF.join(df, col("clusterDF.cluster_id") === col("df.cluster_id"), "left" )
  </code></pre>
  
  <p>But above code fails with:</p>
  
  <pre><code>org.apache.spark.sql.AnalysisException: cannot resolve '`clusterDF.cluster_id`' given input columns: [cluster_id, cluster_id, name];;
  'Join LeftOuter, ('clusterDF.cluster_id = 'df.cluster_id)
  :- Aggregate [cluster_id#0], [cluster_id#0]
  :  +- Project [cluster_id#0]
  :     +- Filter (name#18 = kroger)
  :        +- Project [cluster_id#0, name#18]
  :           +- Generate explode(influencers#1.screenName), true, false, [name#18]
  :              +- Relation[cluster_id#0,influencers#1] json
  +- Project [cluster_id#26, name#18]
     +- Generate explode(influencers#27.screenName), true, false, [name#18]
        +- Relation[cluster_id#26,influencers#27] json
  </code></pre>
  
  <p>Seems very weird to me. Any suggestions please. </p>