возможно, я совершенно неправильно понимаю вещи, но в основном у меня 2 dfs, и я не хочу получать все строки в df1, которых нет в df2, и я подумал, что именно это и сделает левое антисоединение, что, по-видимому, не поддерживается в pyspark v1.6?
df1:
+----+---+
| id | x |
+----+---+
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
+----+---+
df2:
+----+---+
| id | x |
+----+---+
| 1 | a |
| 2 | b |
+----+---+
desired output df3:
+----+---+
| id | x |
+----+---+
| 3 | c |
| 4 | d |
+----+---+
Я пытаюсь:
df3 = df1.where(~col("id").isin(df2["id"]))
, что дает мне .count () 0 строк
и :
df3 = df1.join(df2, on = ["id"], how = "leftanti")
для этого я получаю следующее исключение:
IllegalArgumentException: u"Unsupported join type 'leftanti'. Supported join types include: 'inner', 'outer', 'full', 'fullouter', 'leftouter', 'left', 'rightouter', 'right', 'leftsemi'."
Благодарю за помощь.