1

我在我的hdfs中有一些Mahout载体的顺序文件格式。是否有可能以某种方式使用相同的矢量在Spark中训练KMeans模型?我可以将现有的Mahout矢量转换为Spark矢量(mllib),但我想避免这种情况。火车星火K-means与Mahout载体

回答

1

Mahout矢量不直接受Spark支持。您会 - 根据您的担忧 - 需要将它们转换为Spark矢量。

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代码时,也不需要序列文件。 – pferrel 2015-02-08 16:18:36