2017-05-15 2 views
0

Ich möchte zwei Tabellen/Datenrahmen basierend auf einigen Bedingungen verbinden.Joining Spalten bei jeder Übereinstimmung

Zum Beispiel in einer Tabelle I name

In der anderen Tabelle eine Spalte, habe ich die Spalten name1, name2, name3

Wie trete ich in den Tabellen auf den Säulen, wenn einer der Namen Spalten in der zweiten Tabelle übereinstimmt, und verwenden Sie die Spalten in der Reihenfolge namename2name3 zu beitreten, wenn möglich?

Antwort

2

Sie können nur join verwenden, die einen Ausdruck als der bedingten Algorithmus nimmt und verwenden Sie die or (||)

df1.join(df2, $"name" === $"name1" || $"name" === $"name2" || $"name" === $"name3")