मैं एक RDD संरचनास्पार्क: RDD सूची में
RDD[(String, String)]
है और मैं 2 सूची (RDD के प्रत्येक आयाम के लिए एक) बनाना चाहते हैं।
मैंने rdd.foreach() का उपयोग करने की कोशिश की और दो ListBuffers भरें और फिर उन्हें सूची में परिवर्तित करें, लेकिन मुझे लगता है कि प्रत्येक नोड अपनी सूची बफर बनाता है क्योंकि पुनरावृत्ति के बाद बफरलिस्ट खाली होते हैं। मैं यह कैसे कर सकता हूं ?
संपादित करें: मेरे दृष्टिकोण
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