/ स्पार्क में विभाजन की संख्या प्रति भिन्न आउटपुट / स्केला, अपाचे-स्पार्क, अपाचे-स्पार्क-स्टैंडअलोन

स्पार्क में विभाजन की प्रति संख्या के विभिन्न आउटपुट - स्कैला, अपाचे-स्पार्क, अपाचे-स्पार्क-स्टैंडअलोन

मैं अपने स्थानीय मशीन और क्लस्टर में स्पार्क कोड चलाता हूं।

मैं निम्नलिखित कोड वाली स्थानीय मशीन के लिए SparkContext ऑब्जेक्ट बनाता हूं:

val sc = new SparkContext("local[*]", "Trial")

मैं निम्नलिखित कोड वाले क्लस्टर के लिए SparkContext ऑब्जेक्ट बनाता हूं:

val spark = SparkSession.builder.appName(args(0)+" "+args(1)).getOrCreate()
val sc = spark.sparkContext

और मैंने निम्नलिखित कोड के साथ स्थानीय मशीन और क्लस्टर के लिए विभाजन की संख्या 4 बताई

val dataset = sc.textFile("Dataset.txt", 4)

अपने क्लस्टर में, मैंने 5 श्रमिक बनाए। उनमें से एक ड्राइवर नोड है, उनमें से बाकी कार्यकर्ता के रूप में चलते हैं।

मुझे उम्मीद है कि परिणाम समान होने चाहिए। हालांकि, दो भागों के परिणाम जो स्थानीय हैं और क्लस्टर अलग हैं। समस्या के कारण क्या हैं?

उत्तर:

जवाब के लिए 0 № 1

मैं निम्नलिखित कोड के साथ स्थानीय मशीन के लिए SparkContext ऑब्जेक्ट बनाता हूं

तथा

मैं निम्नलिखित कोड वाले क्लस्टर के लिए SparkContext ऑब्जेक्ट बनाता हूं:

यह प्रकट होता है हो सकता है कि आपने दो अलग-अलग परिवेशों को परिभाषित किया हो sc तथा spark जैसा कि आप परिभाषित करते हैं local[*] स्पष्ट रूप से sc के लिए कुछ डिफ़ॉल्ट मान लेते समय spark (जो बाहरी कॉन्फ़िगरेशन फ़ाइलों को पढ़ सकता है या तथाकथित मास्टर URL से ले सकता है spark-submit)।

इन हो सकता है अलग हो जाओ हो सकता है जो आप उपयोग करते हैं उसे प्रभावित करें।

मुझे उम्मीद है कि परिणाम समान होने चाहिए। हालांकि, दो भागों के परिणाम जो स्थानीय हैं और क्लस्टर अलग हैं। समस्या के कारण क्या हैं?

Dataset.txt आप स्थानीय बनाम क्लस्टर वातावरण में प्रक्रिया कर रहे हैंअलग और इसलिए परिणामों में अंतर। मैं भविष्य में इस तरह के "आश्चर्य" से बचने के लिए एचडीएफएस या किसी अन्य साझा फ़ाइल सिस्टम का उपयोग करने की दृढ़ता से सलाह देता हूं।