Обновите несколько столбцов в Pyspark Dataframe - PullRequest
0 голосов
/ 03 июля 2019

У меня есть датафрейм, который содержит около 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 столбца одновременно в одном кадре данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...