Vergleichen von zwei RDDs

Ich habe zwei RDD [Array [String]], nennen wir sie rdd1 und rdd2. Ich würde ein neues RDD erstellen, das nur die Einträge von rdd2 enthält, nicht in rdd1 (basierend auf einem Schlüssel). Ich verwende Spark auf Scala über Intellij.

Ich habe rdd1 und rdd2 nach einem Schlüssel gruppiert (ich werde nur die Schlüssel der beiden rdds vergleichen):

val rdd1Grouped = rdd1.groupBy(line => line(0))
val rdd2Grouped = rdd2.groupBy(line => line(0))

Dann habe ich einleftOuterJoin:

val output = rdd1Grouped.leftOuterJoin(rdd2Grouped).collect {
  case (k, (v, None)) => (k, v)
}

aber dies scheint nicht das richtige Ergebnis zu liefern.

Was stimmt damit nicht? Irgendwelche Vorschläge?

Beispiel für RDDS (jede Zeile ist ein Array [String], ofc):

rdd1                        rdd2                  output (in some form)

1,18/6/2016               2,9/6/2016                  2,9/6/2016
1,18/6/2016               2,9/6/2016 
1,18/6/2016               2,9/6/2016
1,18/6/2016               2,9/6/2016
1,18/6/2016               1,20/6/2016
3,18/6/2016               1,20/6/2016 
3,18/6/2016               1,20/6/2016
3,18/6/2016
3,18/6/2016
3,18/6/2016

In diesem Fall möchte ich nur den Eintrag "2,9 / 6/2016" hinzufügen, da der Schlüssel "2" nicht in rdd1 ist.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage