2017-07-25 6 views
1

Ich habe versucht, mit einer Abfrage für Abfrage von Oracle db laufe schließt sich mit SqlContext wieFühren SQL JOIN mit SqlContext Funken

val sql="select a from b,c where b.join=c.join" 
val dataframe = sqlcontext.read.jdbc(url,sql,connection_properties) 

Ich ungültigen Tabellennamen Fehler. Wenn ich jedoch versuche, Tabelle wie unten abzufragen, funktioniert es gut.

Ist es nicht möglich, Join-Abfragen mit sqlcontext auszuführen.

Antwort

2

Dies ist, was Sie tun müssen, erstellen Sie zwei Datenrahmen aus den Tabellen unten

val df1 = sqlcontext.read.jdbc(url,"b",connection_properties) 
val df2 = sqlcontext.read.jdbc(url,"c",connection_properties) 

und zwei Datenrahmen verbinden mit dem Schlüssel, den Sie

df1.join(df2, <join condition>, <which join>) 

//example 
df1.join(df2, df1($"id") === df2($"id"), "left") 

Ich denke, das ein beitreten wollen, ist bessere Option soweit ich weiß

Hoffe, das hilft!