Ваш пример, вероятно, слишком прост, потому что изменение rank
также не должно работать.
withColumn
не обновляет DataFrame, оно создает новый DataFrame.
Так что вы должны сделать:
// if myDf is a var
myDf.show(5)
myDf = myDf.withColumn("rank", myDf("rank") * 10)
myDf = myDf.withColumn("lastRanOn", current_date())
println("And now:")
myDf.show(5)
или, например:
myDf.withColumn("rank", myDf("rank") * 10).withColumn("lastRanOn", current_date()).show(5)
Только тогда у вас будет добавлен новый столбец - после переназначения новой ссылки на DataFrame