में आयात के साथ स्पार्क समस्याएं हम एक पाइथन स्क्रिप्ट पर स्पार्क-सबमिट कमांड चला रहे हैं जो स्पार्क का उपयोग कैफे का उपयोग करके पाइथन में ऑब्जेक्ट डिटेक्शन को समानांतर करने के लिए करता है। यदि पाइथन-केवल स्क्रिप्ट में चलाया जाता है तो स्क्रिप्ट स्वयं पूरी तरह ठीक हो जाती है, लेकिन स्पार्क कोड के साथ इसका उपयोग करते समय यह आयात त्रुटि लौटाती है। मुझे पता है कि स्पार्क कोड समस्या नहीं है क्योंकि यह मेरी होम मशीन पर पूरी तरह से ठीक काम करता है, लेकिन यह एडब्ल्यूएस पर अच्छा काम नहीं कर रहा है। मुझे यकीन नहीं है कि अगर किसी को पर्यावरण चर के साथ ऐसा करना है, तो ऐसा लगता है कि यह उन्हें नहीं ढूंढता है।पायथन
ये वातावरण चर सेट कर रहे हैं:
SPARK_HOME=/opt/spark/spark-2.0.0-bin-hadoop2.7
PATH=$SPARK_HOME/bin:$PATH
PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
PYTHONPATH=/opt/caffe/python:${PYTHONPATH}
त्रुटि:
16/10/03 01:36:21 WARN TaskSetManager: Lost task 0.0 in stage 0.0 (TID 0, 172.31.50.167): org.apache.spark.api.python.PythonException: Traceback (most recent call last):
File "/opt/spark/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/worker.py", line 161, in main
func, profiler, deserializer, serializer = read_command(pickleSer, infile)
File "/opt/spark/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/worker.py", line 54, in read_command
command = serializer._read_with_length(file)
File "/opt/spark/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/serializers.py", line 164, in _read_with_length
return self.loads(obj)
File "/opt/spark/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/serializers.py", line 422, in loads
return pickle.loads(obj)
File "/opt/spark/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/cloudpickle.py", line 664, in subimport
__import__(name)
ImportError: ('No module named caffe', <function subimport at 0x7efc34a68b90>, ('caffe',))
क्या किसी को पता है कि क्यों यह कोई मुद्दा हो सकता है?
याहू से यह पैकेज हम कैफे को एक जार निर्भरता के रूप में शिपिंग करके करने की कोशिश कर रहे हैं और फिर इसे पायथन में फिर से उपयोग करते हैं। लेकिन मुझे इसे बनाने और इसे आयात करने के तरीके पर कोई संसाधन नहीं मिला है।
https://github.com/yahoo/CaffeOnSpark
शायद आप सुझाए गए अनुसार '.egg' का उपयोग करके अजगर पैकेज को लोड करने का प्रयास कर सकते हैं [http] //stackoverflow.com/questions/24686474/shipping-python-modules-in-pyspark-to-other-nodes) –
कोशिश की, काम नहीं किया। मैंने गुमराह किया है कि स्पष्ट रूप से मुझे इसे एक जार पैकेज के रूप में निर्यात करना है, लेकिन मुझे नहीं पता कि इसे कैसे बनाया जाए और फिर इसे पायथन पर आयात करें। – alfredox
यदि आपने स्रोत से कैफे बनाया है, तो क्या आपने कैफ़े लाइब्रेरी को मैन्युअल रूप से 'LD_LIBRARY_PATH' में जोड़ने का प्रयास किया था? क्या आपने पाइथन टर्मिनल से कैफे आयात करने का प्रयास किया था? – ar7