我想創建一個RDD來收集迭代計算的結果。創建一個RDD來收集迭代計算的結果
如何使用一個循環(或任何替代)來代替下面的代碼:
import org.apache.spark.mllib.random.RandomRDDs._
val n = 10
val step1 = normalRDD(sc, n, seed = 1)
val step2 = normalRDD(sc, n, seed = (step1.max).toLong)
val result1 = step1.zip(step2)
val step3 = normalRDD(sc, n, seed = (step2.max).toLong)
val result2 = result1.zip(step3)
...
val step50 = normalRDD(sc, n, seed = (step49.max).toLong)
val result49 = result48.zip(step50)
(創建N個步驟RDDS並在結束在一起,然後壓縮和解也將是確定只要50個RDDS創建迭代地尊重種子=(步驟(N-1)的.max)條件)
我最好使用'Stream.unfold'從scalaz以產生步驟流,然後壓縮它與本身和/或scanRight .. – Reactormonk