如何在Scala Spark中创建索引行矩阵,该矩阵对于给定尺寸是随机的

时间:2018-11-16 10:44:51

标签: scala apache-spark

我想在Scala-Spark中创建索引行矩阵,它在向量中具有随机值。 我已经可以使用下面的代码创建一个本地数组,但是它会弄乱大尺寸-

import org.apache.spark.mllib.random.RandomRDDs._
import scala.util.Random
var r = scala.util.Random

var populationSize   = 15
var chromosomeLength = 4

var randomPopulation = Array.fill(populationSize,chromosomeLength{r.nextFloat}

这应该产生类似

 [1, [random vector of length 4]
  2 , [random vector of length 4] ....15 [random vector of length 4] ]

是索引行矩阵。

1 个答案:

答案 0 :(得分:1)

简单明了

import org.apache.spark.mllib.random.RandomRDDs
import org.apache.spark.mllib.linalg.distributed.{IndexedRowMatrix, IndexedRow}

new IndexedRowMatrix(
  RandomRDDs.uniformVectorRDD(sc, populationSize, chromosomeLength)
    .zipWithIndex.map { case (v, i) => IndexedRow(i, v) }
)

其中scSparkContext

的实例