अपाचे स्पार्क वेब यूआई में "स्टेज स्किप्ड" का क्या अर्थ है?


जवाबों:


124

आमतौर पर इसका मतलब है कि डेटा कैश से प्राप्त किया गया है और दिए गए चरण को फिर से निष्पादित करने की आवश्यकता नहीं थी। यह आपके DAG के अनुरूप है जो दर्शाता है कि अगले चरण में फेरबदल ( reduceByKey) की आवश्यकता है । जब भी फेरबदल होता है तो स्पार्क स्वचालित रूप से उत्पन्न किए गए डेटा को कैश करता है :

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


23
बहुत बढ़िया जवाब। आप पता लगाने के लिए चाहते हैं जिस तरह के शब्दों के बारे में अधिक "को छोड़ दिया" और बाहर की जाँच वेब UI पर चरणों "लंबित", github.com/apache/spark/pull/3009 , पुल अनुरोध जो पहले इन अवधारणाओं को पेश किया। यदि आप इस बारे में उत्सुक हैं कि पीआर एक दिलचस्प रीड है, तो आप नौकरी-स्तर की प्रगति सलाखों के साथ बातचीत / लंबित चरणों को कैसे पूरा करते हैं।
जोश रोसेन

1
अगर मैं सही तरीके से पालन कर रहा हूं, तो स्पार्क का मतलब ये है कि वे ऐसा नहीं करते हैं और उन्हें कोड से सभी को एक साथ हटाया जा सकता है? या कोड कैश के साथ बहुत कुशल है इसलिए इसे छोड़ दें? @ ज़ीरो323
स्पार्कलेज़ैट

1
@SparkleGoat No. इसका मतलब है कि इन चरणों का मूल्यांकन पहले किया जा चुका है, और परिणाम पुन: निष्पादन के बिना उपलब्ध है।
10465355

एक और सवाल, क्या कैशिंग और स्किपिंग चरण आउटपुट डेटा को अलग बना सकते हैं?
स्पार्कलगेट

1
@SparkleGoat, कोई कैशिंग (और उस वजह से लंघन) एक आंतरिक स्पार्क अनुकूलन है और किसी भी तरह से आउटपुट डेटा को नहीं बदलता है।
रवि सांवल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.