在 Scala 内的列上使用指数如何使其工作

Leo*_*orn 3 scala apache-spark

这是我想要实现的代码。我收到过载错误。有办法解决吗?

import scala.math._

dF = dF.withColumn("col2",(8.333*exp($"col1")))
error: type mismatch;
 found   : org.apache.spark.sql.ColumnName
 required: Double
Run Code Online (Sandbox Code Playgroud)

如何执行这样的指数运算?

Sha*_*ala 6

您可以function在火花中使用相同的

import org.apache.spark.sql.functions.exp

dF = dF.withColumn("col2",exp($"col1"))
Run Code Online (Sandbox Code Playgroud)

您正在尝试使用需要的exp函数scala.mathDouble但您正在传递,Column因此它不起作用。Spark 具有相同的功能,您可以使用它。

希望这可以帮助!