Arrays 在Spark Scala中创建阵列(种子)

Arrays 在Spark Scala中创建阵列(种子),arrays,scala,random,seed,Arrays,Scala,Random,Seed,如何在Scala中创建随机种子数组?我想要一个随机数组,但这个随机数组在整个函数中必须是相同的 例如,我们可以使用scala.util val arr1 = Array.fill[Float](Random.nextFloat) 但是,arr1在每次处理过程中都会发生变化 因为我们在Scala也有种子,我试着做: val rndm = Random(4) val arr1 = Array.fill[Float](rndm.nextFloat) 尽管如此,即使有种子,它也会每次发生变化。使用种

如何在Scala中创建随机种子数组?我想要一个随机数组,但这个随机数组在整个函数中必须是相同的

例如,我们可以使用
scala.util

val arr1 = Array.fill[Float](Random.nextFloat)
但是,
arr1
在每次处理过程中都会发生变化

因为我们在Scala也有种子,我试着做:

val rndm = Random(4)
val arr1 = Array.fill[Float](rndm.nextFloat)

尽管如此,即使有种子,它也会每次发生变化。

使用种子创建一个随机生成器

val r = new scala.util.Random(100)
要重新创建相同的伪随机值序列,您需要“重置”生成器,否则它将向下一个序列添加新的(可能的)不同值

scala> val r = new scala.util.Random(100)
r: scala.util.Random = scala.util.Random@5b1dd206

scala> Array.fill(2)(r.nextFloat)
res6: Array[Float] = Array(0.7220096, 0.7346627)

scala> val r = new scala.util.Random(100)
r: scala.util.Random = scala.util.Random@6f371390

scala> Array.fill(2)(r.nextFloat)
res7: Array[Float] = Array(0.7220096, 0.7346627)

创建一个带有种子的随机生成器

val r = new scala.util.Random(100)
要重新创建相同的伪随机值序列,您需要“重置”生成器,否则它将向下一个序列添加新的(可能的)不同值

scala> val r = new scala.util.Random(100)
r: scala.util.Random = scala.util.Random@5b1dd206

scala> Array.fill(2)(r.nextFloat)
res6: Array[Float] = Array(0.7220096, 0.7346627)

scala> val r = new scala.util.Random(100)
r: scala.util.Random = scala.util.Random@6f371390

scala> Array.fill(2)(r.nextFloat)
res7: Array[Float] = Array(0.7220096, 0.7346627)