Ich muss quadratischen Abstand zwischen zwei Features Spalten eines Spark Datenframe berechnen. Wenn ich den folgenden Code ausführenFehler Berechnung Quadrat Entfernung in 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")))
ich Fehler
Name: org.apache.spark.sql.AnalysisException
Nachricht: kann nicht lösen 'UDF (Funktionen, Features2)' aufgrund Datentyp stimmt nicht überein: Argument 1 erfordert einen Vektortyp, 'features
' ist jedoch vom Typ Vektor. Argument 2 erfordert einen Vektortyp, jedoch ist 'features2
' vom Vektor Typ.
Das Schema meines Datenrahmen
root
|-- id: long (nullable = false)
|-- features: vector (nullable = true)
|-- id2: long (nullable = false)
|-- features2: vector (nullable = true)
Auch ist, wird der Code unter
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)
fein Warum ich diesen Fehler bin immer?