अगर कोई मेरी तरह इस पर ठोकर खाता है और क्लस्टर पर काम कर रहा है, लेकिन लक्ष्य नोड पर कुछ स्थानीय स्क्रिप्ट चलाने की आवश्यकता के साथ ।
समाधान
सबसे आसान फुलप्रूफ समाधान स्क्रिप्ट की शुरुआत में PYSPARK_PYTHON env सेट करना होगा, क्योंकि मेरे मामले में pyspark-shell इसे ठीक से कॉन्फ़िगर नहीं कर सका, भले ही $SPARK_HOME/conf/spark-env.sh
में ठीक से कॉन्फ़िगर किया गया हो। या यहां तक कि spark-defaults.conf
. में भी और ~/.bashrc
(दोनों पहले विकल्प से कम वांछनीय)।
import os
os.environ['PYSPARK_PYTHON'] = '/path/to/python3' # Worker executable
os.environ['PYSPARK_DRIVER_PYTHON'] = '/path/to/python3' # Driver executable
संभावित कारण
मुझे पूरी तरह से यकीन नहीं है, लेकिन मेरा अनुमान है कि आपके वेनव में पाइप से स्थापित पाइस्पार्क उस से अलग है जो वास्तव में स्पार्क द्वारा ही लोड किया गया है और यह सही एनवी चर नहीं ढूंढता है, इसे कॉन्फ़िगर करने के बावजूद डिफ़ॉल्ट पायथन 2.7 निष्पादन योग्य का सहारा लेता है। हर जगह।