Mam strukturę RDDSpark: RDD do listy
RDD[(String, String)]
i chcę utworzyć 2 listy (po jednym dla każdego wymiaru RDD).
Próbowałem użyć rdd.foreach() i wypełnić dwa ListBuffers, a następnie przekonwertować je na listy, ale przypuszczam, że każdy węzeł tworzy swój własny ListBuffer, ponieważ po iteracji lista BufferLists jest pusta. Jak mogę to zrobić ?
EDIT: moje podejście
val labeled = data_labeled.map { line =>
val parts = line.split(',')
(parts(5), parts(7))
}.cache()
var testList : ListBuffer[String] = new ListBuffer()
labeled.foreach(line =>
testList += line._1
)
val labeledList = testList.toList
println("rdd: " + labeled.count)
println("bufferList: " + testList.size)
println("list: " + labeledList.size)
a wynik jest:
rdd: 31990654
bufferList: 0
list: 0
Proszę zaktualizować z kodem, czego próbowałem i niektóre dane wejściowe próbki i oczekiwany wynik! Twoje pytanie nie jest dla mnie jasne. – eliasah