Scala Apache Spark中存在多个withColumn错误

Scala Apache Spark中存在多个withColumn错误,scala,apache-spark,Scala,Apache Spark,这行代码的工作方式与我想象的不同: val df2 = df1 .withColumn("email_age", when('age_of_email <= 60, 1)) .withColumn("email_age", when('age_of_email <= 120, 2)) .withColumn("email_age", when('age_of_email <= 180, 3).otherwise(4)) val df2=df1 .withColum

这行代码的工作方式与我想象的不同:

val df2 = df1
  .withColumn("email_age", when('age_of_email <= 60, 1))
  .withColumn("email_age", when('age_of_email <= 120, 2))
  .withColumn("email_age", when('age_of_email <= 180, 3).otherwise(4))
val df2=df1

.withColumn(“email_age”,当('age_of_email)如人们在评论中所说,使用
withColumn
和数据框中已有的列名将替换该列

我认为,为了实现目标,您可以为每个分类使用不同的列名,或者简单地将
when()
连接到单个列中,如

val df2 = df1.withColumn("email_age", when('age_of_email <= 60, 1)
                                     .when('age_of_email <= 120, 2)
                                     .when('age_of_email <= 180, 3)
                                     .otherwise(4))

val df2=df1.withColumn(“email_age”,当('age of_email我们应该如何回答您的问题而不知道您正在使用什么库或任何东西…这是您正在寻找的吗?:
import org.apache.spark.sql.
import org.apache.spark.ml.。\u
为什么您会认为我们知道您在使用spark?我从未使用过spark,但看起来您不能使用sparkse
。withColumn
在同一列上多次调用。上次调用将覆盖以前的调用。您在所有三个withColumn方法中使用相同的列名。您应该在每个方法上使用不同的名称。和