如何根据pyspark的一些条件在新列中填充从源表到目标表的值?



我有3个数据帧- df1, df2, df3

其中df1为目的表,df2, df3为源表。

df2

<表类> id 名称 是 tbody><<tr>1亚历克斯302约翰703杰森80

您可以将df2df3连接起来,然后使用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|
+---+-----+------------+

最新更新