Я пытаюсь применить функцию к Column
в Scala, но я сталкиваюсь с некоторыми трудностями.
Есть эта ошибка
found : org.apache.spark.sql.Column
required: Array[Double]
Есть ли способ конвертировать?от Column
до Array
?Спасибо
Обновление:
Большое спасибо за ваш ответ, я думаю, что все ближе к тому, чего я пытаюсь достичь.Я дам вам немного больше контекста:
Вот код:
object Targa_Indicators_Full {
def get_quantile (variable: Array[Double], perc:Double) : Double = {
val sorted_vec:Array[Double]=variable.sorted
val pos:Double= Math.round(perc*variable.length)-1
val quant:Double=sorted_vec(pos.toInt)
quant
}
def main(args: Array[String]): Unit = {
val get_quantileUDF = udf(get_quantile _)
val plate_speed =
trips_df.groupBy($"plate").agg(sum($"time_elapsed").alias("time"),sum($"space").alias("distance"),
stddev_samp($"distance"/$"time_elapsed").alias("sd_speed"),
get_quantileUDF($"distance"/$"time_elapsed",.75).alias("Quant_speed")).
withColumn("speed", $"distance" / $"time")
}
Теперь я получаю эту ошибку:
type mismatch;
[error] found : Double(0.75)
[error] required: org.apache.spark.sql.Column
[error] get_quantileUDF($"distanza"/$"tempo_intermedio",.75).alias("IQR_speed")
^
[error] one error found
Что я могу сделать?Спасибо.