Ich habe zwei Scala-Datenframes. Trotz nach dem Beispiel gegeben here, bekomme ich noch DuplikateScala: DataFrame.join immer noch Duplikate
+----+----+----+-------+
| b1| b2| b3|$$RowId|
+----+----+----+-------+
|a1-1|a2-1|a3-1| 1|
|a1-2|a2-2|a3-2| 2|
|a1-3|a2-3|a3-3| 3|
|null|null|null| 8|
|null|null|null| 9|
|null|null|null| 10|
+----+----+----+-------+
+-------+-----+-----+-----+
|$$RowId| b1| b2| b3|
+-------+-----+-----+-----+
| 1| null| null| null|
| 2| null| null| null|
| 3| null| null| null|
| 8| b1-8| b2-8|b3-15|
| 9| b1-9| b2-9|b3-17|
| 10|b1-10|b2-10|b3-19|
+-------+-----+-----+-----+
Ich möchte die Daten in einem Datenrahmen kombinieren. Ich schließe mich wie folgt verwenden:
val finalDF = colsToShiftRenamedDF.join(colsToKeepDF, Seq("$$RowId"))
Das Ergebnis ist die folgende Datenrahmen
+-------+----+----+----+-----+-----+-----+
|$$RowId| b1| b2| b3| b1| b2| b3|
+-------+----+----+----+-----+-----+-----+
| 1|a1-1|a2-1|a3-1| null| null| null|
| 2|a1-2|a2-2|a3-2| null| null| null|
| 3|a1-3|a2-3|a3-3| null| null| null|
| 8|null|null|null| b1-8| b2-8|b3-15|
| 9|null|null|null| b1-9| b2-9|b3-17|
| 10|null|null|null|b1-10|b2-10|b3-19|
+-------+----+----+----+-----+-----+-----+
Jede Beratung schätzen
ich mit etwas ähnliches am Ende kam, aber anstatt kommen, benutzte ich withColumn , was ich vermute, ist langsamer als der Prozess eine Spalte zu einer Zeit geht. Tausend Dank!! – Jake
Mein Vergnügen @Jake, danke für die Annahme und Upvote. :) –
Ramesh, nur wenn Sie die Zeit ersparen können, ist es möglich, den Code dynamisch abhängig von der Anzahl der Spalten zu verschieben, sagen b1-bn und a1-an (wo count bn == count an)? Wenn ja, vielleicht post als zusätzliche Antwort. Ich weiß, dass dies viel verlangt, also ignoriere es, wenn du beschäftigt bist. Ich bin schon dankbar für Ihre Hilfe – Jake