आरडीडी दस्तावेज here पाया जा सकता है। sortBy
को देखो:
sortBy[K](
f: (T) ⇒ K,
ascending: Boolean = true,
numPartitions: Int = this.partitions.size
)
K
RDD आप द्वारा छँटाई कर रहे हैं के स्निपेट का प्रकार है। f
एक फ़ंक्शन है, जिसे आप या तो def
के साथ कहीं और परिभाषित कर सकते हैं और इसे नाम से पास कर सकते हैं या आप लाइन में एक अनामित रूप से बना सकते हैं (जो अधिक स्केल जैसा है)। ascending
और numPartitions
स्वयं स्पष्टीकरण होना चाहिए।
तो यह सब देखते हुए प्रयास करें:
rdd.sortBy[String]({animal => animal})
फिर इस कोशिश:
rdd.sortBy[String]({animal => animal}, false)
और फिर यह एक है, जो के नाम पर पत्र "ई" की संख्या से RDD सॉर्ट करता पशु, सबसे से कम से कम करने के लिए:
rdd.sortBy[Int]({a => a.split("").filter(char => char == "e").size}, false)
यह ध्यान देने योग्य है कि मूल rdd
पृथक नहीं किया जा रहा है - एक नया, क्रमबद्ध आरडीडी ऑपरेशन द्वारा वापस किया जाता है।
स्रोत
2015-05-30 03:09:59
मुझे स्पार्क के बारे में कोई जानकारी नहीं है लेकिन शायद यह आपका जवाब है: http://apache-spark-user-list.1001560.n3.nabble.com/How-to-sort-an-RDD-td1922.html – MeiSign