Я могу запустить мой питон + pyspark скрипт из командной строки Unix, набравЗапуск сценария внутри pyspark оболочки
pyspark script.py
Но как я бегу script.py внутри pyspark оболочки? Это кажется элементарным вопросом, но я не могу найти ответ нигде. Я попытался
execfile('script.py')
Но я получаю ошибку, которая включает в себя:
ValueError: Cannot run multiple SparkContexts at once
Попробуйте 'subprocess.call' (https://docs.python.org/3/library/subprocess.html#subprocess.call). Я понимаю, что 'execfile' пытается оценить файл в том же экземпляре Python, тогда как с модулем' subprocess' вы можете создать другой экземпляр Python и PySpark без каких-либо конфликтов. – KartikKannapur
Спасибо за отзыв. После выполнения моего кода и добавления chmod, я могу запустить код таким образом. Но после этого я не могу получить доступ к переменным в коде. Таким образом, это почти то же самое, что запуск pyspark script.py в unix. – user3433489
Да, у вас не будет доступа к переменным, если вы не подключите их к другой переменной или не сохраните их в некоторой структуре данных. 'subprocess' только поможет вам вызвать другую искровую программу. Вы можете попробовать что-то похожее на 'subprocess.Popen' с' stdout = PIPE' – KartikKannapur