如何在Spark中将RDD转换为Vector

时间:2015-08-05 18:28:42

标签: scala apache-spark apache-spark-mllib

我有一个RDD类型为RDD [(Int,Double)]的RDD,其中该对的第一个元素是索引,第二个元素是值,我希望将此RDD转换为要使用的Vector用于分类。有人可以帮我吗?

我有以下代码,但它无效

  def vectorize(x:RDD[(Int,Double)], size: Int):Vector = {
   val vec = Vectors.sparse(size,x)
 }

1 个答案:

答案 0 :(得分:2)

由于sudo /etc/init.d/contextBroker restart 是本地数据结构,因此您必须收集数据。

org.apache.spark.mllib.linalg.Vector

由于没有数据分发,您必须确保输出适合驱动程序内存。

通常,此操作不是特别有用。如果您的数据可以使用本地数据结构轻松处理,那么它可能不应该首先存储在RDD中。