Имам VectorWritable
(org.apache.mahout.math.VectorWritable
), който идва от файл с последователност, генериран от Mahout, и бих искал да го конвертирам във векторен (org.apache.spark.mllib.linalg.Vectors
) тип е Spark. Как мога да направя това в Scala?
Как да конвертирате Mahout VectorWritable във Vector в 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