我有3个数据帧- df1, df2, df3
其中df1为目的表,df2, df3为源表。
df2
<表类>
id
名称
是
tbody><<tr>1 亚历克斯 30 2约翰 70 3 杰森 80 表类>
您可以将df2
和df3
连接起来,然后使用when
函数:
from pyspark.sql import functions as F
df1 = df2.join(df3, ['id', 'name'], "inner")
.withColumn("status&marks", F.when(F.col("status")=="fail", F.col('status'))
.otherwise(F.col('marks'))).drop('marks', 'status')
+---+-----+------------+
| id| name|status&marks|
+---+-----+------------+
| 1| alex| fail|
| 2| john| 70|
| 3|jason| 80|
+---+-----+------------+