Pyspark 使用Spark减去数据帧
我的第一个数据帧df1看起来像-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
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|
+---+---------+---------+
您可以在此处阅读有关左半联接和左反联接的更多信息:该要求合适吗?