Datenrahmen nach Wert filtern, der NICHT in der Spalte eines anderen Datenrahmens vorhanden ist [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Filter Spark DataFrame basierend auf einem anderen DataFrame, der Blacklist-Kriterien angibt 2 Antworten

Banging meinen Kopf ein wenig mit diesem, und ich vermute, die Antwort ist sehr einfach. Bei zwei gegebenen Datenrahmen möchte ich den ersten filtern, bei dem Werte in einer Spalte nicht in einer Spalte eines anderen Datenrahmens vorhanden sind.

Ich möchte dies tun, ohne auf vollwertiges Spark SQL zurückzugreifen. Verwenden Sie also einfach DataFrame.filter oder Column.contains oder das Schlüsselwort "isin" oder eine der Verknüpfungsmethoden.

val df1 = Seq(("Hampstead", "London"), 
              ("Spui", "Amsterdam"), 
              ("Chittagong", "Chennai")).toDF("location", "city")
val df2 = Seq(("London"),("Amsterdam"), ("New York")).toDF("cities")

val res = df1.filter(df2("cities").contains("city") === false)
// doesn't work, nor do the 20 other variants I have tried

Hat jemand irgendwelche Ideen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage