0
我有兩個scala數據框。儘管下面給出here的例子中,我仍然得到重複Scala:DataFrame.join仍在創建重複項
+----+----+----+-------+
| 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|
+-------+-----+-----+-----+
我希望將數據合併到一個數據幀。我用加入如下:
val finalDF = colsToShiftRenamedDF.join(colsToKeepDF, Seq("$$RowId"))
結果如下數據框
+-------+----+----+----+-----+-----+-----+
|$$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|
+-------+----+----+----+-----+-----+-----+
任何意見讚賞
我想出了在年底類似的東西,而不是用加盟,我用withColumn ,因爲這個過程一次只有一列,所以我懷疑這個過程比較慢。太感謝了!! – Jake
我的榮幸@Jake,感謝您的接受和讚揚。 :) –
Ramesh,只有當你可以騰出時間,是否有可能使代碼動態依賴於要移動的列數,比如b1-bn和a1-an(其中count bn == count an)?如果是的話,也許作爲附加答案發布。我知道這是很重要的,所以如果你很忙,請忽略。我已經感謝您的幫助 – Jake