我有一个包含大约15列的数据框。 我需要根据3个条件用不同的值更新4列。我可以使用以下SQL语句在SQL中轻松完成此操作。
Update myTable SET
( col_1,
col_2,
col_3,
col4
) =
( 'abc',
'def',
'ghi',
'jkl'
)
WHERE col_1 IS NULL and col_2 == 'ABC' AND col_10== 'XYZ'
如何在PySpark中使用数据框来做到这一点?
我尝试通过withColumns
进行此操作,但一次只能进行1列。
例如-new_df = old_df.withColumn(col_1,F.when((old_df.col_1.isNull()) & old_df.col_2 == 'ABC' & (old_df.col_10 == XYZ)),'abc').otherwise(old_df.col_1)
我需要在一个数据帧中同时更新所有4列。