У меня есть датафрейм, который содержит около 15 столбцов.
Мне нужно обновить 4 столбца с различными значениями на основе 3 условий. Я легко могу сделать это в 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 с использованием Dataframes?
Я пытался сделать это через 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 столбца одновременно в одном кадре данных.