我有一个RDD结构火花:RDD列出
RDD[(String, String)]
和我想创建2名列表(一个用于RDD的每个维度)。我试图使用rdd.foreach()并填充两个ListBuffers,然后将它们转换为列表,但我猜每个节点都会创建自己的ListBuffer,因为迭代后BufferLists是空的。我该怎么做 ?
编辑:我的做法
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
请用你的代码更新已经尝试过和一些输入数据样本和预期输出!你的问题对我来说不是很清楚。 – eliasah