Запуск программы pyspark на ядре python3 в записной книжке jupyter

#python #apache-spark #pyspark #jupyter-notebook

#python #apache-spark #pyspark #jupyter-notebook

Вопрос:

Я использовал pip install pyspark для установки PySpark. Я не задавал никакого пути и т.д.; однако я обнаружил, что все было загружено и скопировано в C:/Users/Admin/anaconda3/scripts . Я открыл записную книжку jupyter в ядре Python3 и попытался запустить скрипт SystemML, но он выдавал ошибку. Я понял, что мне нужно разместить winutils.exe в C:/Users/Admin/anaconda3/scripts также, поэтому я сделал это, и скрипт запустился, как ожидалось.

Теперь моя программа включает поиск по сетке, и когда я запускаю ее на своем персональном ноутбуке, она работает заметно медленнее, чем на облачной платформе данных, где я могу запустить ядро с помощью Spark (например, IBM Watson Studio).

Итак, мои вопросы:

(i) Как мне добавить PySpark в ядро Python3? Или она уже работает в фоновом режиме, когда я import pyspark ?

(ii) Когда я запускаю один и тот же код в одном и том же наборе данных с использованием pandas и scikit-learn, разница в производительности невелика. Когда PySpark предпочтительнее / выгоднее pandas и scikit-learn?

Другое дело, что, хотя PySpark, похоже, работает нормально, и я могу импортировать его библиотеки, когда пытаюсь запустить

 import findspark
findspark.init()
  

он выдает ошибку и (в строке 2), сообщая list is out of range . Я немного погуглил и нашел совет, в котором говорилось, что мне нужно явно установить SPARK_HOME='C:/Users/Admin/anaconda3/Scripts' ; но когда я это делаю, pyspark перестает работать (findspark.init() все еще не работает).

Если кто-нибудь может объяснить, что происходит, я был бы очень благодарен. Спасибо.

Комментарии:

1. Можете ли вы показать полное сообщение об исключении?

Ответ №1:

Как мне добавить PySpark в ядро Python3

pip install , как вы сказали, вы сделали

разница в производительности невелика

Вы используете только одну машину, поэтому не было бы

Когда PySpark предпочтительнее / выгоднее pandas и scikit-learn?

Когда вы хотите развернуть тот же код на реальном кластере Spark, а ваш набор данных хранится в распределенном хранилище


Вам не обязательно findspark , если ваши переменные среды уже настроены