Это странно, я только что попробовал этот фрагмент:
val df = Seq("yoyo","yaya",null).toDF("code")
df.withColumn("code", when($"code".isNull,lit("NON")).otherwise($"code")).show
И это работает нормально, вы можете поделиться своей версией искры.И вы импортировали искровые последствия?Вы уверены, что ваша колонка имеет тип StringTyped?