【发布时间】:2018-05-11 10:59:02
【问题描述】:
我有以下两个数据框
df1
+--------+-----------------------------
|id | amount | fee |
|1 | 10.00 | 5.0 |
|3 | 90 | 130.0 |
df2
+--------+--------------------------------
|exId | exAmount | exFee |
|1 | 10.00 | 5.0 |
|1 | 10.0 | 5.0 |
|3 | 90.0 | 130.0 |
我使用所有三列将它们连接起来,并尝试识别两个数据框之间共有的列和不共有的列。
我正在寻找输出:
+--------+--------------------------------------------
|id | amount | fee |exId | exAmount | exFee |
|1 | 10.00 | 5.0 |1 | 10.0 | 5.0 |
|null| null | null |1 | 10.0 | 5.0 |
|3 | 90 | 130.0|3 | 90.0 | 130.0 |
基本上希望 df2 中 exId 为 1 的重复行单独列出。 有什么想法吗?
【问题讨论】:
-
输出不应改变。基本上,一次出现的行应该与第二个数据帧中出现的同一行匹配。如果其中任何一个有额外的行(重复),它不应该匹配。
-
@RameshMaharjan 不必担心 10.0 与 10.00。如果这能让事情变得干净,可以将其保持为整数。
-
不,他们不应该。
标签: scala apache-spark apache-spark-sql