Spark withColumn不会向数据框添加新列,但已更新

时间:2018-10-14 11:12:40

标签: scala apache-spark

我正在尝试向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")

为什么第二行给出了请求的结果而第一行却没有?

1 个答案:

答案 0 :(得分:0)

  

我的问题是,在执行此行代码后检查df的内容时,没有列

它不应该。由于Spark withColumn中的所有操作都会创建一个新的DataFrame。而不是检查df,您应该检查workProjection