我正在尝试过滤类似于此的Spark DataFrame:
+-----+---+-----+-----+-----+-----+-------+
| name|age|key_1|key_2|key_3|key_4|country|
+-----+---+-----+-----+-----+-----+-------+
| abc| 20| 1| 1| 1| 1| USA|
| def| 12| 2| 2| 3| 2| China|
| ghi| 40| 3| 3| 3| 3| India|
| jkl| 39| 4| 1| 4| 4| UK|
+-----+---+-----+-----+-----+-----+-------+
基本上我想要实现的是找出哪些行具有不匹配的键,在这种情况下,我想获得第二行和第四行的新数据框。
我尝试过
val unmatching = df.filter(df.col("key_1").notEqual(df.col("key_2")).notEqual(df.col("key_3")).notEqual(df.col("key_4")))
我得到的是一个比原始数据集更短的数据集,但是密钥似乎相等。
答案 0 :(得分:0)
val matching=...
val unmatching= df.except(matching);