我有一個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