使用 Mahout 向量训练 Spark k-means
Train Spark k-means with Mahout vectors
我的 hdfs 中有一些序列文件格式的 Mahout 向量。是否可以以某种方式使用相同的向量在 Spark 中训练 KMeans 模型?我可以将现有的 Mahout 向量转换为 Spark 向量 (mllib),但我想避免这种情况。
Mahout 向量不受 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))
}
我的 hdfs 中有一些序列文件格式的 Mahout 向量。是否可以以某种方式使用相同的向量在 Spark 中训练 KMeans 模型?我可以将现有的 Mahout 向量转换为 Spark 向量 (mllib),但我想避免这种情况。
Mahout 向量不受 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))
}