2017-02-20 5 views
1

Ich habe zwei Datenrahmen. Ich möchte einige Datensätze in Datenrahmen-A basierend auf einigen gemeinsamen Spaltenwerten in Datenrahmen-B löschen.Filtern von doppelten Datensätzen mit mehreren Schlüsseln in Spark Datareframe?

Beispiel: Data Frame-A:

A B C D 
1 2 3 4 
3 4 5 7 
4 7 9 6 
2 5 7 9 


Data Frame-B:

A B C D 
1 2 3 7 
2 5 7 4 
2 9 8 7 


Keys: A,B,C columns 

gewünschte Ausgabe:

A B C D 
3 4 5 7 
4 7 9 6 

Jede Lösung hierfür.

Antwort

3

Sie suchen left anti-join:

df_a.join(df_b, Seq("A","B","C"), "leftanti").show() 
+---+---+---+---+ 
| A| B| C| D| 
+---+---+---+---+ 
| 3| 4| 5| 7| 
| 4| 7| 9| 6| 
+---+---+---+---+ 
Verwandte Themen