अगर मैं अपने पीस्पार्क खोल में 10 आरडीडी बनाता हूं, तो क्या इसका मतलब यह है कि इन सभी 10 आरडीडी डेटा स्पार्क मेमोरी पर रहेंगे?
उत्तर: आरडीडी में केवल "वंशावली ग्राफ" (लागू परिवर्तन) शामिल है। तो, आरडीडी डेटा नहीं है !!! जब भी हम आरडीडी पर कोई कार्रवाई करते हैं, तो सभी परिवर्तन क्रिया से पहले लागू होते हैं। तो अगर स्पष्ट रूप से नहीं (निश्चित रूप से कुछ अनुकूलन हैं जो पूरी तरह से कैश करते हैं) कैश किए जाते हैं, प्रत्येक बार एक क्रिया पूरी निष्पादन की जाती है और कार्रवाई फिर से की जाती है !!!
E.g - यदि आप एचडीएफएस से आरडीडी बनाते हैं, तो कुछ परिवर्तन लागू करें और परिवर्तित आरडीडी पर 2 क्रियाएं करें, एचडीएफएस पढ़ने और परिवर्तन दो बार निष्पादित किए जाएंगे !!!
तो, यदि आप पुनः गणना से बचना चाहते हैं, तो आपको आरडीडी जारी रखना होगा। बने रहने के लिए आपके पास हेप, ऑफ-हीप, डिस्क पर एक या अधिक के संयोजन की पसंद है।
यदि मैं आरडीडी नहीं हटाता, तो क्या यह हमेशा के लिए स्मृति में होगा?
उत्तर: आरडीडी को ध्यान में रखते हुए सिर्फ "वंशावली ग्राफ" है, यह होस्टिंग भाषा के समान दायरे और आजीवन नियम का पालन करेगा। लेकिन अगर आप पहले ही गणना किए गए परिणाम को जारी रखते हैं, तो आप असंतोष कर सकते हैं !!!
यदि मेरा डेटासेट आकार उपलब्ध राम आकार से अधिक है, तो डेटा कहां संग्रहीत किया जाएगा?
उत्तर: मान लीजिए कि आपने वास्तव में स्मृति में आरडीडी को जारी रखा/कैश किया है, यह स्मृति में संग्रहीत किया जाएगा। और डेटा को बेदखल करने के लिए एलआरयू का उपयोग किया जाता है। स्पार्क में मेमोरी प्रबंधन कैसे किया जाता है, इस बारे में अधिक जानकारी के लिए Refer।
स्मृति में इसका मतलब है हाँ इसकी रैम। आरडीडी आलसी हैं। आरडीडी पर 2 ऑपरेशन हैं जिन्हें ट्रांसफॉर्मेशन और एक्शन कहा जाता है जब तक कि कार्रवाई (पूर्व: गिनती के लिए) नहीं कहा जाता है, वे कार्य नहीं करेंगे और गणना करेंगे। नौकरी शुरू करते समय हम स्पार्क-सबमिट या किसी अन्य तरीके से मेमोरी आवंटित करेंगे (जो रैम में एक्जिक्यूटर्स मेमोरी है)। [इस] की सिफारिश करेंगे (https://www.tutorialspoint.com/apache_spark/apache_spark_rdd.htm) –