1

У меня есть несколько векторов Mahout в моих hdfs в формате файла последовательности. Можно ли каким-либо образом использовать одни и те же векторы для обучения модели KMeans в Spark? Я мог бы просто преобразовать существующие векторы Mahout в векторы Spark (mllib), но я хотел бы избежать этого.Поезд Spark k-означает с векторами Mahout

ответ

1

Магирующие векторы непосредственно не поддерживаются Spark. Вы бы - в соответствии с вашими соображениями - должны преобразовать их в Spark Vectors.

val sc = new SparkContext("local[2]", "MahoutTest") 
val sfData = sc.sequenceFile[NullWritable, MVector](dir) 
val xformedVectors = sfData.map { case (label, vect) => 
    import collection.JavaConversions._ 
    (label, Vectors.dense(vect.all.iterator.map{ e => e.get}.toArray)) 
} 
+0

Это действительно не так уж плохо. один распределенный проход по DRM выполняется быстро. При использовании кода Spark-Mahout нет необходимости в файле Sequence. – pferrel

Смежные вопросы