मान लीजिए कि मेरे मनमानी वस्तुओं का आरडीडी है। मैं आरडीडी की 10 वीं (कहें) पंक्ति प्राप्त करना चाहता हूं। मुझे यह कैसे करना है? rdd.take (n) का उपयोग करने का एक तरीका है और फिर nth तत्व का उपयोग ऑब्जेक्ट है, लेकिन जब यह बड़ा होता है तो यह दृष्टिकोण धीमा होता है।स्पार्क आरडीडी की एनटी पंक्ति कैसे प्राप्त करें?
उत्तर
मैं कितना कुशल है, के रूप में यह स्पार्क के इंजन में वर्तमान और भविष्य के अनुकूलन पर निर्भर करता है पता नहीं है, लेकिन आप निम्न कार्य की कोशिश कर सकते हैं:
rdd.zipWithIndex.filter(_._2==9).map(_._1).first()
पहले समारोह को बदल देती है RDD आईडीएक्स के साथ 0 से आगे की एक जोड़ी (मान, आईडीएक्स) में। दूसरा कार्य तत्व idx == 9 (10 वीं) के साथ लेता है। तीसरा कार्य मूल मूल्य लेता है। फिर परिणाम वापस आ गया है।
पहले फ़ंक्शन निष्पादन इंजन द्वारा खींचा जा सकता है और पूरे प्रसंस्करण के व्यवहार को प्रभावित कर सकता है। कोशिश करो।
किसी भी मामले में, अगर nबहुत बड़ी है, इस विधि में है कि यह ड्राइवर नोड में पहली n तत्वों की एक सरणी को इकट्ठा करने की आवश्यकता नहीं है कुशल है।
दुर्भाग्यवश, 'zipWithIndex' को प्रत्येक विभाजन के इंडेक्स ऑफसेट की गणना करने के लिए डेटा पर पूर्ण पास की आवश्यकता होती है। यद्यपि यह अभी भी आपकी सबसे अच्छी शर्त है। – climbage
मैंने कोशिश की और यह धीमा है। शायद एक पंक्ति प्राप्त करने के लिए ठीक है, लेकिन कई पंक्तियां प्राप्त करना, एक समय में एक बहुत धीमा है – Jake
मैंने विशाल डेटा के लिए यह जांच नहीं की है। लेकिन यह मेरे लिए ठीक काम करता है।
कहना n = 2, मैं 2 तत्व का उपयोग करना चाहते हैं,
data.take(2).drop(1)
आप इसे बड़े 'n' मानों के लिए नहीं करना चाहते हैं क्योंकि इसके परिणामस्वरूप पहले' n' तत्व (जो है विभाजन से प्रभावित ...) ड्राइवर कोड के लिए ... तो यह धीमा या असंभव हो सकता है ... – masu
सहमत हैं। क्या ऐसा करने का कोई कुशल तरीका है? –
AFAIK: उपरोक्त निकोल फेरारो के उत्तर में हमारे पास सबसे अच्छा दृष्टिकोण है। http://stackoverflow.com/a/27826498/2846609 – masu
- 1. स्पार्क आरडीडी
- 2. स्पार्क आरडीडी
- 3. स्पार्क आरडीडी
- 4. स्पार्क: आरडीडी
- 5. स्पार्क आरडीडी
- 6. स्पार्क त्रुटि आरडीडी प्रकार आरडीडी
- 7. स्पार्क आरडीडी (जावा) में इंडेक्स द्वारा तत्व कैसे प्राप्त करें
- 8. स्पार्क खोल में परिभाषित आरडीडी की सूची कैसे करें?
- 9. स्पार्क आरडीडी यूनियन
- 10. स्पार्क आरडीडी फोरैच
- 11. अपाचे स्पार्क आरडीडी स्प्लिट "|"
- 12. अपाचे स्पार्क आरडीडी
- 13. स्पार्क आरडीडी- मानचित्र बनाम नक्शापार्टिशन
- 14. स्पार्क स्ट्रीमिंग में आरडीडी विभाजन
- 15. स्पार्क स्ट्रीमिंग डीस्ट्रीम आरडीडी फ़ाइल नाम
- 16. स्पार्क/स्कैला: आरडीडी को फंक्शन
- 17. स्पार्क नौकरी की मेट्रिक्स कैसे प्राप्त करें?
- 18. स्पार्क आरडीडी में सटीक नमूना आकार के साथ नमूना कैसे प्राप्त करें?
- 19. स्पार्क डेटाफ्रेम में पंक्ति ऑब्जेक्ट से मूल्य कैसे प्राप्त करें?
- 20. स्पार्क: एक आरईएसटी सेवा से आरडीडी बनाना
- 21. आरडीडी को कई आरडीडी में डुप्लिकेट कैसे करें?
- 22. मैं स्पार्क के आरडीडी में एक तत्व की स्थिति कैसे प्राप्त कर सकता हूं?
- 23. रिकॉर्ड की पंक्ति संख्या कैसे प्राप्त करें?
- 24. स्पार्क सॉर्ट ऑर्डर कैसे प्राप्त करता है?
- 25. Google स्प्रेडशीट्स: किसी श्रेणी से पहली (एनटी) पंक्ति/कॉलम कैसे प्राप्त करें? (अंतर्निहित फ़ंक्शंस)
- 26. स्पार्क एमएल लिब में टीएफ वेक्टर आरडीडी से शब्द विवरण कैसे प्राप्त करें?
- 27. आरडीडी से आरडीडी का संग्रह कैसे बनाएं?
- 28. स्पार्क सत्र से जावास्कार्क कॉन्टेक्स्ट प्राप्त करें
- 29. स्पार्क आरडीडी को 2 स्पार्क संदर्भों के बीच कैसे साझा करें?
- 30. स्पार्क आरडीडी - हमेशा राम में विभाजन है?
मैं के जवाब का मानना है की सुविधा देता है [इस सवाल] (http://stackoverflow.com/q/24677180/ 877069) यहां भी प्रासंगिक हैं। –