我有2个pyspark数据帧,
i
+---+-----+
| ID|COL_A|
+---+-----+
| 1| 123|
| 2| 456|
| 3| 111|
| 4| 678|
+---+-----+
j
+----+-----+
|ID_B|COL_B|
+----+-----+
| 2| 456|
| 3| 111|
| 4| 876|
+----+-----+
我正在尝试根据特定列的值从i
中减去j
,即COL_A
的{{1}}中存在的值不应该存在在i
的{{1}}中。
预期输出应为
COL_B
这是我的代码,
j
但是输出出错了,
diff
+---+-----+
| ID|COL_A|
+---+-----+
| 1| 123|
| 4| 678|
+---+-----+
我在这里做错什么了吗?预先感谢。
答案 0 :(得分:1)
尝试:
left_join = i.join(j, j.COL_B == i.COL_A,how='left')
left_join.filter(left_join.COL_A.isNull()).show()
如果您将列名用作args,则可以执行以下操作:
left_join = i.join(j, j[colb] == i[cola],how='left')
left_join.filter(left_join[cola].isNull()).show()