У меня есть структура RDD
RDD[(String, String)]
и я хочу создать 2 списка (по одному для каждого измерения rdd).
Я попытался использовать rdd.foreach() и заполнить два ListBuffers, а затем преобразовать их в списки, но я думаю, каждый node создает свой собственный ListBuffer, потому что после итерации BufferLists пустые. Как я могу это сделать?
EDIT: мой подход
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)
и результат:
rdd: 31990654
bufferList: 0
list: 0