Pyspark 使用Spark减去数据帧

Pyspark 使用Spark减去数据帧,pyspark,pyspark-sql,Pyspark,Pyspark Sql,我的第一个数据帧df1看起来像- id city_code area_code 1 20 30 2 33 88 3 43 09 4 02 72 5 12 19 第二数据帧df2 id cash age 1 200

我的第一个数据帧df1看起来像-

id      city_code       area_code
1          20             30
2          33             88
3          43             09
4          02             72
5          12             19
第二数据帧df2

id         cash           age
1          200             30
2          338             28
3          436             49
6          023             72
我希望结果看起来像-

id      city_code       area_code
3          43             09
4          02             72
5          12             19
我已经做了-

df3 = df1.select('id','city_code','area_code').subtract(df2.select('id','cash','age'))

df3.show()
但不起作用

您可以使用left_anti-join来过滤两个dfs中具有相同id的行

 df1.join(df2, 'id', "left_anti").show()
返回:

+---+---------+---------+
| id|city_code|area_code|
+---+---------+---------+
|  4|       02|       72|
|  5|       12|       19|
+---+---------+---------+

您可以在此处阅读有关左半联接和左反联接的更多信息:

该要求合适吗?