मेरे पास वास्तव में एकमात्र बड़ा पढ़ने वाला डेटा है जो मैं सभी निष्पादकों को उसी नोड पर उपयोग करना चाहता हूं। स्पार्क में यह संभव है। मुझे पता है, आप चर प्रसारित कर सकते हैं, लेकिन क्या आप वास्तव में बड़े सरणी प्रसारित कर सकते हैं। क्या, हुड के तहत, यह निष्पादकों के बीच एक ही नोड पर डेटा साझा करता है? यह उसी नोड पर चल रहे निष्पादकों के JVMs के बीच डेटा साझा करने में सक्षम कैसे है?स्पार्क में, क्या दो निष्पादकों के बीच डेटा साझा करना संभव है?
उत्तर
हां, आप अपने डेटा पर विचार करते समय broadcast चर का उपयोग कर सकते हैं (अपरिवर्तनीय)। प्रसारण चर को निम्नलिखित गुणों को पूरा करना होगा।
स्मृति- फ़िट क्लस्टर
को वितरित तो, यहां केवल हालत अपने डेटा एक नोड पर स्मृति में फिट करने के लिए सक्षम होना चाहिए है। इसका मतलब है कि डेटा किसी भी बड़े टेबल की तरह स्मृति सीमा से अधिक या उससे अधिक नहीं होना चाहिए।
प्रत्येक निष्पादक को प्रसारण चर की एक प्रति प्राप्त होती है और उस विशेष निष्पादक के सभी कार्य उस डेटा को पढ़ने/उपयोग कर रहे हैं। यह क्लस्टर में सभी कार्यकर्ता नोड्स को एक बड़ा, केवल-पढ़ने वाला डेटा भेजने जैसा है। यानी, प्रत्येक कार्यकर्ता और प्रत्येक कार्यकर्ता (इसके कार्य) के बजाय प्रत्येक कार्यकर्ता को केवल एक बार जहाज को डेटा पढ़ते हैं।
@pythonic ने पूछा कि कैसे "JVMs के बीच डेटा साझा करें"। –
@LostInOverflow मुझे विश्वास है कि सवाल कुछ भ्रम पैदा करता है। ओपी सही शब्द का उपयोग नहीं कर रहा है। 2 निष्पादक! = 2 आवेदन JVMs – eliasah
ठीक है, हाँ। JVM साझाकरण का उत्तर है, अपाचे स्पार्क एक वितरित डेटा प्रोसेसिंग फ्रेमवर्क है। तो, यहां आप नौकरियां/एप्लिकेशन/कार्य या आरडीडी साझा नहीं कर सकते हैं। एचडीएफएस जैसे लगातार भंडारण के माध्यम से डेटा साझा करना एकमात्र तरीका संभव है। अपाचे इग्नाइट, एक ढांचा जो आरडीडी के शीर्ष पर एक अमूर्तता प्रदान करता है जिसे इग्नाइटआरडीडी कहा जाता है जिसे मूल स्पार्क आरडीडी और डाटाफ्रेम एपीआई का कार्यान्वयन होता है जो अन्य नौकरियों, अनुप्रयोगों और श्रमिकों में आरडीडी की स्थिति साझा करता है। – Kris
- 1. अपाचे स्पार्क: निष्पादकों के बीच नेटवर्क त्रुटियां
- 2. क्या दो कोणीय ऐप्स के बीच डेटा साझा करना संभव है?
- 3. दो ऐप्स के बीच iCloud डेटा साझा करना
- 4. यार्न: स्पार्क में संख्या-निष्पादकों और निष्पादक-कोर के बीच क्या अंतर है?
- 5. AngularJS में दो मॉड्यूल के बीच डेटा कैसे साझा करें?
- 6. 'कुछ' सबडोमेन के बीच एक कुकी साझा करना संभव है?
- 7. क्या कई वेब सर्वरों के बीच HttpRuntime.Cache साझा करना संभव है?
- 8. क्या हास्केल में साझा करना कभी भी संभव है?
- 9. स्पार्क स्ट्रीमिंग में निष्पादकों को नौकरी कैसे सौंपी जाती है?
- 10. डेटा साझा JVM के बीच
- 11. स्पार्क निष्पादकों की राशि कैसे निर्धारित करें?
- 12. दो अलग-अलग गिट परियोजनाओं के बीच कोड साझा करना
- 13. क्या सी # में पावरहेल cmdlets के बीच गुणों और टिप्पणियों को साझा करना संभव है?
- 14. क्या एमवीसी और वेबफॉर्म के बीच एक मास्टरपेज साझा करना संभव है?
- 15. दो आईओएस ऐप्स के बीच फ़ाइल/डेटा साझा करना जो मेरे पास
- 16. क्या साझा होस्टिंग वातावरण में मोंगोडीबी स्थापित करना संभव है?
- 17. स्पार्क 1.2.0 में सभी स्पार्क निष्पादकों के वर्गपथ में कॉन्फ़िगरेशन फ़ाइल कैसे जोड़ें?
- 18. दो आईफोन ऐप्स के बीच डेटा शेयर
- 19. गतिविधियों और सेवाओं के बीच डेटा साझा करना
- 20. कोर डेटा - एकाधिक धागे के बीच एनएसएमएनेज्ड ऑब्जेक्ट्स साझा करना
- 21. क्या प्रक्रियाओं के बीच पोस्टमेसेज को ट्रैक करना संभव है?
- 22. दो अनुप्रयोगों के बीच डेटा साझाकरण
- 23. गतिविधियों के बीच एक वस्तु साझा करना
- 24. जेनकींस: दो दास बनाम एक गुलाम दो निष्पादकों
- 25. क्या पोस्ट डेटा रीडायरेक्ट करना संभव है?
- 26. क्या एएसपीएनटी एमवीसी एप्लीकेशन और पायथन एप्लिकेशन से सत्र डेटा साझा करना संभव है?
- 27. क्या एकाधिक परियोजनाओं के बीच संसाधन संसाधन फ़ाइल साझा करना संभव है?
- 28. विभिन्न प्रक्रियाओं के बीच एचडीसी साझा करना
- 29. उपयोगकर्ता नियंत्रण के बीच डेटा साझा करें
- 30. क्या phpmyadmin में दो अद्यतन क्वेरी निष्पादित करना संभव है?
निष्पादक को डेटा पिन किया गया है? क्या आप उस समस्या का वर्णन कर सकते हैं जिसे आप हल करने का प्रयास कर रहे हैं? – maasg
असल में, मेरे पास केवल पढ़ने वाला डेटा है जो लगभग 6 जीबी है। यह डेटा प्रत्येक निष्पादक द्वारा समय-समय पर पढ़ा जाना चाहिए, क्योंकि यह एक लुकअप टेबल की तरह है। प्रत्येक निष्पादक के पास संपूर्ण लुकअप टेबल तक पहुंच होनी चाहिए। मैं प्रत्येक निष्पादक को इतना स्मृति नहीं देना चाहता हूं। मैं चाहता हूं कि उस स्मृति को उसी नोड पर चलने वाले निष्पादकों के बीच साझा किया जाए, ताकि मैं प्रत्येक निष्पादक को कम स्मृति देकर दूर हो सकूं। – pythonic
लगता है जैसे आप ऐसा करने के लिए कुछ स्थानीय सेवा का उपयोग कर सकते हैं। जैसे स्थानीय रेडिस (या समान इन-मेमोरी डीबी/कैश) में उस डेटा को लोड करें और स्थानीय उदाहरण को संबोधित करने के लिए स्पार्क नौकरी से सिंगलटन जेवीएम ऑब्जेक्ट का उपयोग करें। आपको एक प्रबंधन सेवा की भी आवश्यकता होगी जो रीफ्रेश करता है। मुझे नहीं लगता कि आप जो चाहते हैं उसे हासिल करने के लिए आउट ऑफ़ द बॉक्स स्पार्क समाधान है। – maasg