शीर्षक "लोकैलिटी लेवल" और 5 स्टेटस डेटा स्थानीय -> प्रक्रिया स्थानीय -> नोड लोकल -> रैक लोकल -> कोई भी ?स्पार्क क्लस्टर पर "लोकैलिटी लेवल" का क्या अर्थ है
उत्तर
इलाके स्तर के रूप में तक मुझे पता है इंगित करता है डेटा तक पहुँच के प्रकार का प्रदर्शन किया गया है। जब कोई नोड अपना पूरा काम खत्म कर देता है और उसका सीपीयू निष्क्रिय हो जाता है, तो स्पार्क अन्य लंबित कार्य शुरू करने का निर्णय ले सकता है जिसके लिए अन्य स्थानों से डेटा प्राप्त करने की आवश्यकता होती है। तो आदर्श रूप से, आपके सभी कार्यों को स्थानीय प्रक्रिया की जानी चाहिए क्योंकि यह निम्न डेटा पहुंच विलंबता से जुड़ा हुआ है।
आप का उपयोग अन्य इलाके के स्तर में जाने से पहले प्रतीक्षा समय कॉन्फ़िगर कर सकते हैं:
spark.locality.wait
अधिक मापदंडों के बारे में जानकारी करने के लिए विभिन्न स्तरों Spark Configuration docs
में पाया जा सकता सम्मान के साथ PROCESS_LOCAL, NODE_LOCAL, RACK_LOCAL, या कोई भी मुझे लगता है कि विधियां findTask और ढूंढें स्पेक्ट्रमेटिव टास्कorg.apache.spark.scheduler.TaskSetManager हो डब्ल्यू स्पार्क अपने इलाके के स्तर के आधार पर कार्यों का चयन करता है। यह पहले PROCESS_LOCAL कार्यों की जांच करेगा जो एक ही निष्पादक प्रक्रिया में लॉन्च होने जा रहे हैं। यदि नहीं, तो यह NODE_LOCAL कार्यों की जांच करेगा जो एक ही नोड में अन्य निष्पादकों में हो सकते हैं या इसे एचडीएफएस, कैश आदि जैसे सिस्टम से पुनर्प्राप्त करने की आवश्यकता है। RACK_LOCAL का अर्थ है कि डेटा किसी अन्य नोड में है और इसलिए इसे पहले स्थानांतरित करने की आवश्यकता है निष्पादन। और आखिरकार, कोई भी मौजूदा लंबित कार्य में चलने वाले लंबित कार्य को लेने के लिए है।
/**
* Dequeue a pending task for a given node and return its index and locality level.
* Only search for tasks matching the given locality constraint.
*/
private def findTask(execId: String, host: String, locality: TaskLocality.Value)
: Option[(Int, TaskLocality.Value)] =
{
for (index <- findTaskFromList(execId, getPendingTasksForExecutor(execId))) {
return Some((index, TaskLocality.PROCESS_LOCAL))
}
if (TaskLocality.isAllowed(locality, TaskLocality.NODE_LOCAL)) {
for (index <- findTaskFromList(execId, getPendingTasksForHost(host))) {
return Some((index, TaskLocality.NODE_LOCAL))
}
}
if (TaskLocality.isAllowed(locality, TaskLocality.RACK_LOCAL)) {
for {
rack <- sched.getRackForHost(host)
index <- findTaskFromList(execId, getPendingTasksForRack(rack))
} {
return Some((index, TaskLocality.RACK_LOCAL))
}
}
// Look for no-pref tasks after rack-local tasks since they can run anywhere.
for (index <- findTaskFromList(execId, pendingTasksWithNoPrefs)) {
return Some((index, TaskLocality.PROCESS_LOCAL))
}
if (TaskLocality.isAllowed(locality, TaskLocality.ANY)) {
for (index <- findTaskFromList(execId, allPendingTasks)) {
return Some((index, TaskLocality.ANY))
}
}
// Finally, if all else has failed, find a speculative task
findSpeculativeTask(execId, host, locality)
}
- 1. स्पार्क क्लस्टर और कैसंड्रा
- 2. मुद्दा यार्न क्लस्टर पर चल रहा है स्पार्क नौकरी
- 3. जावा में स्पार्क जॉब: क्लस्टर
- 4. स्पार्क क्लस्टर बड़े इनपुट पर विफल रहता है, छोटे
- 5. WEKA में क्लस्टर का मूल्यांकन क्या है?
- 6. हैश पर grep का अर्थ क्या है?
- 7. स्पार्क कार्यक्रम अजीब परिणाम जब स्टैंडअलोन क्लस्टर
- 8. स्पार्क-शैल में प्रगति पट्टी पर संख्याओं का क्या अर्थ है?
- 9. DStream.foreachRDD फ़ंक्शन का क्या अर्थ है?
- 10. स्पार्क स्टैंडअलोन क्लस्टर में श्रमिक, निष्पादक, कोर क्या हैं?
- 11. "===" का क्या अर्थ है?
- 12. {} का क्या अर्थ है?
- 13. लोकैलिटी-संवेदनशील हैशिंग - Elasticsearch
- 14. लोकैलिटी सेंसिटिव हैशिंग - आर
- 15. लोकैलिटी संरक्षण हैश फंक्शन
- 16. यार्न अवधारणा समझ पर स्पार्क
- 17. _Use_decl_annotations_ का अर्थ क्या है
- 18. "बहिष्कृत" का क्या अर्थ है?
- 19. "=>" का क्या अर्थ है?
- 20. AVMediaTypeMuxed का क्या अर्थ है?
- 21. "कर्ल" का क्या अर्थ है?
- 22. , कैरेट^का अर्थ क्या है?
- 23. "लॉग *" का क्या अर्थ है?
- 24. सीवी_INSTRUMENT_REGION() का क्या अर्थ है?
- 25. एएसआई का क्या अर्थ है?
- 26. Material.alphaTest का क्या अर्थ है?
- 27. foo का क्या अर्थ है?
- 28. "सीटीएक्स" का क्या अर्थ है?
- 29. view.bounds.origin का अर्थ क्या है?
- 30. [प्राथमिक] का क्या अर्थ है?
क्या आप समझा सकते हैं कि "लंबित कार्य" से आपका क्या मतलब है? मुझे लगता है कि एक कार्यकर्ता नोड का एकमात्र काम कार्य शेड्यूलर द्वारा प्रदान किए गए कार्यों को चलाने के लिए है। एक बार यह इन कार्यों को चलाने के बाद किया जाता है (शायद जब स्पार्क एप्लिकेशन चल रहा हो) तो यह निष्क्रिय रहता है। तब लंबित कार्य क्या हैं? – user3376961
@ user3376961 मुझे लगता है कि निम्नलिखित प्रश्न स्पष्ट कर सकते हैं कि स्पार्क में कोई कार्य क्या है। ध्यान रखें कि आप लोच के कुछ स्तर के साथ भी काम कर सकते हैं और यह एक-से-एक संबंध नहीं होने का महत्व भी दिखाता है। http://stackoverflow.com/q/25276409/91042 –