У меня есть VectorWritable
(org.apache.mahout.math.VectorWritable
), который исходит из файла последовательности, сгенерированного Mahout, и я хотел бы преобразовать его в тип Vector (org.apache.spark.mllib.linalg.Vectors
) Spark. Как я могу сделать это в Scala?
Как преобразовать Mahout VectorWritable в вектор в Spark
Ответы (1)
Предполагая, что у нас есть RDD[(Text, VectorWritable)]
из вашего предыдущего вопроса.
import scala.collection.JavaConverters.iterableAsScalaIterableConverter
def mahoutToScala(v: org.apache.mahout.math.VectorWritable) = {
val scalaArray = v.get.all.asScala.map(_.get).toArray
org.apache.spark.mllib.linalg.Vectors.dense(scalaArray)
}
rdd.map{ case (k, v) => (k.toString, mahoutToScala(v))}
person
zero323
schedule
31.07.2015