df1
我在 Spark中有以下数据集:
root
|-- id: integer (nullable = true)
|-- t: string (nullable = true)
|-- x: double (nullable = false)
|-- y: double (nullable = false)
|-- z: double (nullable = false)
我需要创建一个列,这将是一种计算结果
sqrt(x)+cqrt(y)+z*constantK
我正在尝试以下内容:
val constantK=100500
val df2= df1.select($"id", (scala.math.sqrt($"x")+scala.math.cqrt($"y")+$"z"*constantK ))
但是,我遇到了类型不匹配错误
<console>:59: error: type mismatch;
found : org.apache.spark.sql.ColumnName
required: Double
val df2= df1.select($"id", (scala.math.sqrt($"x")+scala.math.cqrt($"y")+$"z"*constantK ))
添加基于数据框中其他列的值的具有复杂计算的列的正确方法是什么?