0
我需要計算火花數據幀的兩個特徵列之間的平方距離。當我運行下面的代碼計算spark-scala中的平方距離的誤差
val udf_dist = funcs.udf((x:DenseVector, y:DenseVector) => Vectors.sqdist(x,y))
val df6 = df5.withColumn("dist", udf_dist(funcs.col("features"),
funcs.col("features2")))
我得到錯誤
名稱:org.apache.spark.sql.AnalysisException
消息:無法解析 'UDF(功能,功能2)' 因數據類型不匹配:參數1 需要向量類型,但'features
'屬於向量類型。 參數2需要矢量類型,但是,'features2
'是矢量 類型。
我的數據框的模式是
root
|-- id: long (nullable = false)
|-- features: vector (nullable = true)
|-- id2: long (nullable = false)
|-- features2: vector (nullable = true)
此外,代碼爲什麼我得到這個錯誤以下運行良好
val v1: org.apache.spark.mllib.linalg.Vector = Vectors.dense(5)
val v2: org.apache.spark.mllib.linalg.Vector = Vectors.dense(5)
Vectors.sqdist(v1, v2)
?