我需要使用Spark 2.2和Scala计算列p
的2的幂:
但如果我这样做,我会收到错误,因为($"ki" / $"ni")
是列,而不是Double。
df.withColumn("p",(lit(1) - scala.math.pow(($"ki" / $"ni").as[Double],2))
答案 0 :(得分:6)
您可以使用inbuilt pow function作为
import org.apache.spark.sql.functions._
df.withColumn("power_of_two", pow($"p", lit(2)))
答案 1 :(得分:0)
带有样本数据的 POW 函数
val someDF = Seq(
(8,"A"),
(12,"B"),
(16,"C")).toDF("number","letter")
someDF.withColumn("pow_example",pow(2,$"number")).show()