2016-02-25 20 views
5

मैं spark-shell उपयोग कर रहा हूँ उठा नहीं और मैं बाहरी jars लेने में असमर्थ हूँ। मैं ईएमआर में spark चलाता हूं।ईएमआर चिंगारी से खोल जार

spark-shell --jars s3://play/emr/release/1.0/code.jar 

मैं निम्नलिखित त्रुटि मिलती है:

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0 Warning: Skip remote jar s3://play/emr/release/1.0/code.jar

अग्रिम धन्यवाद

मैं निम्न कमांड चलाएं।

उत्तर

3

यह विशेष रूप से ईएमआर पर स्पार्क नहीं अपाचे स्पार्क खुद की एक सीमा है। जब ग्राहक तैनाती मोड में स्पार्क (spark-shell या pyspark, या spark-submit की तरह सभी इंटरैक्टिव गोले --deploy-mode cluster या --master yarn-cluster के बिना) चल रहा है, केवल स्थानीय जार रास्तों की अनुमति है।

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

वैकल्पिक हल स्थानीय स्तर पर जार डाउनलोड करने के लिए (एडब्ल्यूएस S3 CLI उपयोग करते हुए) जब चिंगारी से खोल चल फिर स्थानीय पथ निर्दिष्ट या चिंगारी से जमा कर सकते है।

2

आप ईएमआर बॉक्स पर ही एक चिंगारी-शेल कमांड लाइन के साथ ऐसा कर सकते हैं:

spark-submit --verbose --deploy-mode cluster --class com.your.package.and.Class s3://bucket/path/to/thejar.jar 10

आप भी इस आदेश एडब्ल्यूएस जावा ईएमआर क्लाइंट लाइब्रेरी या एडब्ल्यूएस CLI का उपयोग कर कॉल कर सकते हैं। कुंजी का उपयोग करने के लिए है: '--deploy मोड क्लस्टर'

+0

किसी कारण से यह मेरे लिए काम नहीं कर रहा है। मैं ईएमआर-5.6.0/स्पार्क-2.1.1 पर हूं। ईएमआर/स्पार्क के किस संस्करण ने आपके लिए यह काम किया? –

0

एक ही मुद्दा है, तो आप "--master यार्न --deploy मोड क्लस्टर" आर्ग जोड़ सकते हैं और यह आपको S3 जार दूर से निष्पादित करने के लिए अनुमति देता है

जाएगा था
+0

मैं '--master yarn' भाग की जरूरत नहीं लगता था – swdev

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