我正在尝试向spark数据框添加新列。 我也想为该列保留一个变量。 为此,我使用了以下虚线代码:
val workProjection: Column = df.withColumn("working",df.select(workColumns: _*).columns.map(c => col(c)/60).reduce((c1, c2) => c1 + c2))("working")
或者,以下行可以解决问题:
val workProjection: Column =when(df("telfs") < 3, "working").otherwise("not working").as("working")
为什么第二行给出了请求的结果而第一行却没有?
答案 0 :(得分:0)
我的问题是,在执行此行代码后检查df的内容时,没有列
它不应该。由于Spark withColumn
中的所有操作都会创建一个新的DataFrame
。而不是检查df
,您应该检查workProjection