2016-05-26 10 views
6

हाल ही में मैं कुछ बड़ी, शफल भारी नौकरियों के प्रदर्शन को ट्यून कर रहा हूं। स्पार्क यूआई को देखते हुए, मैंने अतिरिक्त मेट्रिक्स अनुभाग के तहत "शफल रीड अवरुद्ध समय" नामक एक विकल्प देखा।स्पार्क - शफल पढ़ें अवरुद्ध समय

यह "शफल रीड अवरुद्ध समय" कार्यों के एक बड़े स्वार्थ के लिए कार्य अवधि के 50% के ऊपर के लिए जिम्मेदार लगता है।

जबकि मैं इसका अर्थ समझने के लिए कुछ संभावनाओं का उपयोग कर सकता हूं, मुझे कोई दस्तावेज नहीं मिल रहा है जो बताता है कि यह वास्तव में क्या दर्शाता है। कहने की जरूरत नहीं है, मैं भी शमन रणनीतियों पर कोई संसाधन नहीं ढूंढ पा रहा हूं।

क्या कोई इस बारे में कुछ अंतर्दृष्टि प्रदान कर सकता है कि मैं शफल रीड अवरुद्ध समय को कैसे कम कर सकता हूं?

उत्तर

1

"शफल रीड अवरुद्ध समय" वह समय है जब कार्यों को रिमोट मशीनों से शफल डेटा को पढ़ने के लिए अवरुद्ध किया गया है। सटीक मीट्रिक जो इसे खिलाता है वह shuffleReadMetrics.fetchWaitTime है।

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

  1. रिमोट मशीनों से अपना कनेक्शन जांचें जिससे आप डेटा पढ़ रहे हैं।
  2. यह सुनिश्चित करने के लिए कि आप केवल अपनी नौकरी खत्म करने के लिए पढ़ने की जरूरत है, केवल डेटा पढ़ रहे हैं, अपने कोड/नौकरियों की जांच करें।
  3. कुछ मामलों में, आप अपने काम को समानांतर में चलने वाली कई नौकरियों में विभाजित करने पर विचार कर सकते हैं, जब तक कि वे एक-दूसरे से स्वतंत्र हों।
  4. शायद आप अपने क्लस्टर को अधिक नोड्स के लिए अपग्रेड कर सकते हैं ताकि आप वर्कलोड को अधिक बारीक बनाने के लिए विभाजित कर सकें और इस प्रकार एक छोटा सा प्रतीक्षा समय हो। अन्त में https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-webui-StagePage.html

    , मैं भी यह मुश्किल पर घसीटना पढ़ें जानकारी अवरोधित समय को खोजने के लिए मिला, लेकिन अगर आप की तरह उद्धरण में डाल:

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

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