प्रसारण चर के साथ वितरित कैशिंग: अपाचे स्पार्क



यह ब्लॉग पोस्ट प्रसारण चर के साथ वितरित कैशिंग की चर्चा करता है और आपको स्पार्क प्रोग्रामिंग में बड़े मूल्यों को कुशलतापूर्वक वितरित करने पर शुरू होता है।

पृथ्वीराज बोस द्वारा योगदान दिया गया





जब बड़े डेटासेट को निष्पादकों में कैश करने की आवश्यकता होती है तो ब्रॉडकास्ट चर उपयोगी होते हैं। यह ब्लॉग बताता है कि शुरुआत कैसे करें।

प्रसारण चर क्या हैं?



Apache Spark में ब्रॉडकास्ट वैरिएबल, एक्जीक्यूटिव के बीच वेरिएबल को साझा करने के लिए एक तंत्र है जो केवल पढ़ने के लिए होता है। प्रसारण चर के बिना ये चर हर परिवर्तन और कार्रवाई के लिए प्रत्येक निष्पादक को भेज दिए जाएंगे, और इससे नेटवर्क ओवरहेड हो सकता है। हालांकि, प्रसारण चर के साथ, उन्हें सभी निष्पादकों को एक बार भेज दिया जाता है और भविष्य के संदर्भ के लिए कैश किया जाता है।

जावास्क्रिप्ट में एक सरणी की लंबाई

प्रसारण चर का उपयोग मामला

कल्पना कीजिए कि रूपांतरण करते समय हमें ज़िप कोड / पिन कोड की एक बड़ी तालिका देखने की आवश्यकता है। यहां, निष्पादकों को हर बार बड़े लुकअप टेबल को भेजना संभव नहीं है, और न ही हम हर बार डेटाबेस को क्वेरी कर सकते हैं। इस लुकअप टेबल को प्रसारण चर में बदलने के लिए समाधान होना चाहिए और स्पार्क इसे भविष्य के संदर्भ के लिए प्रत्येक निष्पादक में कैश करेगा।

उपरोक्त अवधारणाओं को समझने के लिए एक सरल उदाहरण लेते हैं। हमारे पास देशों और उनके राजधानियों के नाम के साथ एक CSV फ़ाइल है। CSV फ़ाइल मिल सकती है यहाँ



CSV-file-distributed-caching

यह मानते हुए कि हम देशों के जनसांख्यिकीय डेटा को संसाधित कर रहे हैं और हमें उस देश की पूंजी प्राप्त करने की आवश्यकता है। इस मामले में हम सीएसवी फ़ाइल में डेटा को एक प्रसारण चर में परिवर्तित कर सकते हैं।

पहले हम CSV फ़ाइल को एक मानचित्र में लोड करते हैं, यदि फ़ाइल मिल जाती है तो विधि वापस आ जाती है कुछ देश) और यह वापस आ गया कोई नहीं

CSV फ़ाइल के सफल लोडिंग के बाद हम मैप को एक ब्रॉडकास्ट वेरिएबल में बदलते हैं और इसे अपने प्रोग्राम में उपयोग करते हैं।

जावा में क्षणिक क्या है

ऊपर कोड स्निपेट में हम CSV फ़ाइल को एक मानचित्र पर लोड करते हैं देशों फिर हम उस नक्शे को एक प्रसारण चर में बदल देते हैं देसी कैश । इसके बाद, हम कीज़ से एक RDD बनाते हैं देशों । में SearchCountryDetails विधि जो हम सभी देशों के लिए एक उपयोगकर्ता परिभाषित पत्र के साथ शुरू करते हैं और विधि उनकी राजधानियों के साथ देशों का RDD लौटाती है। प्रसारण चर उलटी गिनती का उपयोग राजधानियों को देखने के लिए किया जाता है।
इस तरह हमें हर बार हमें खोज करने के लिए पूरे सीएसवी डेटा को भेजने की आवश्यकता नहीं है।

के लिए कोड SearchCountryDetails नीचे दिखाया गया है,

जावा में एक रिश्ता है

संपूर्ण स्रोत कोड पाया जा सकता है यहाँ

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? उन्हें टिप्पणी अनुभाग में उल्लेख करें और हम आपके पास वापस आ जाएंगे।

संबंधित पोस्ट:

स्पार्क Accumulators समझाया

अपाचे स्पार्क CombByKey समझाया