2016-01-06 7 views
5

जैसा कि मैं इसे समझता हूं, प्रसारण चर एक बार बनाए जाते हैं, लेकिन कई बार उपयोग किए जाते हैं। तो यह मेरे लिए होता है कि मुझे एक सिंगलटन कक्षा के अंदर एक प्रसारण चर बनाना चाहिए, क्या यह एक बुरा विचार है? ब्रॉडकास्ट वैरिएबल को पकड़ने के लिए सिंगलटन क्लास का उपयोग करने के पेशेवर और विपक्ष क्या हैं?सिंगलटन में प्रसारण चर का उपयोग करने के पेशेवर और विपक्ष क्या हैं?

उत्तर

6

मुझे लगता है कि प्रसारण चर क्रम में कुछ स्पष्टीकरण लायक को समझने के लिए इस तंत्र काम करता है:

एक प्रसारण चर एक शिपिंग के बजाय एक केवल पढ़ने के लिए चर प्रत्येक मशीन पर कैश्ड रखने के लिए अनुमति देता है कार्यों के साथ इसकी प्रतिलिपि बनाएँ। इसका उपयोग किया जा सकता है, उदाहरण के लिए, प्रत्येक नोड को एक कुशल तरीके से एक बड़े इनपुट डेटासेट की एक प्रति देने के लिए उपयोग किया जा सकता है।
आपको कम से अधिक जानकारी की जाँच कर सकते हैं: Spark Broadcast variables

आप स्पार्क में एक प्रसारण चर बनाने के बाद, आप, वी के चारों ओर एक आवरण (broadcastVar.value() फोन करके पहुँचा) मिलता है तो एक सिंगलटन का उपयोग कर के लिए एक सिंगलटन संदर्भ का उपयोग करेंगे वास्तविक मूल्य की बजाय रैपर, इसलिए, सिंगलटन पैटर्न का कोई भी प्रभाव कम हो सकता है।
आप अपने स्पार्क निष्पादन के पूरे जीवन चक्र में एक ही रैपर संदर्भ का भी उपयोग कर सकते हैं।

चूंकि यह केवल पढ़ने योग्य चर का संदर्भ है, तो वे विकल्प समान व्यवहार पेश करेंगे।

संबंधित मुद्दे