【发布时间】:2020-03-25 19:33:21
【问题描述】:
也许我完全误解了事情,但基本上有 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() of 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'."
感谢您的帮助。
【问题讨论】:
标签: python dataframe apache-spark join pyspark