Vorrei creare un RDD per raccogliere i risultati di un calcolo iterativo.Creazione di un RDD per raccogliere i risultati di un calcolo iterativo
Come posso utilizzare un ciclo (o alternativo) per sostituire il codice seguente:
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)
(creando le RDDs step N e comprimendo poi insieme alla fine sarebbe anche bene fintanto 50 RDDs vengono creati in modo iterativo per rispettare il seme = (passo (n-1 .max)) condizione)
userei 'Stream.unfold' da scalaz per generare un flusso di passaggi e quindi comprimerlo con se stesso e/o scanRight .. – Reactormonk