我需要调用scala.math.pow来计算一个数字,但是我在使用scala sql创建的列时会出现问题并转换为double。
这是我用来调用电源功能的线路。
scala.math.pow(pr,$”numinLinks”)
我有一个spark sql数据框,其中包含一个我尝试使用此UDL强制转换为double的列。
val toDouble = udf[Double, Int]( _.toDouble)
然后我在我的数据框中调用了它。
val joinDFAdjusted = join.withColumn(“numInLinks”, toDouble(joinDF(“numInLinks”)))
在架构中,它显示我的列是StructField(numInLinks,Double,true)。这是我收到的错误。
found: org.apache.spark.sql.ColumnName
required: Double
答案 0 :(得分:1)
只需使用pow
功能:
import org.apache.spark.sql.functions.pow
join.withColumn("numInLinksExp", pow($"pr", $"numinLinks"))