Hi Daniel,

You're actually not modifying the original array: `array :+ x ` will give
you a new array with `x` appended to it.
In your case the fix is simple: collect() already returns an array, use it
as the assignment value to your val.

In case you ever want to append values iteratively, search for how to use
scala "ArrayBuffer"s. Also, keep in mind that RDDs have a foreach method,
so no need to call collect followed by foreach.

regards,
--Jakob



On 11 January 2016 at 16:55, Daniel Valdivia <h...@danielvaldivia.com>
wrote:

> Hello,
>
> I'm trying to put all the values in pair rdd into an array (or list) for
> later storing, however even if I'm collecting the data then pushing it to
> the array the array size after the run is 0.
>
> Any idea on what I'm missing?
>
> Thanks in advance
>
> scala> val tpdist: Array[Array[Double]]  = Array()
> tpdist: Array[Array[Double]] = Array()
>
> scala>
> ldaModel.asInstanceOf[DistributedLDAModel].topicDistributions.sortByKey().collect().foreach(doc
> => tpdist :+ doc._2.toArray )
>
>
>
> scala> tpdist.size
> res27: Int = 0
>

Reply via email to