Иногда у вас нет доступа к блокам данных, и вам нужно использовать более ограниченную среду. Внезапно вы обнаружите, что не используете Spark там, где такие вещи, как манипулирование данными, настолько просты, и вам приходится полагаться на некоторые части вашего мозга, покрытые паутиной, где лежат архивы манипуляции данными pandas (и stackoverflow .. мы любим stackoverflow). Ну, я попробовал это немного и решил, что мне нужно немного здравомыслия в моей жизни.

Я поискал в Интернете, как такое может случиться! Множество людей пришло мне на помощь, и я как бы объединил информацию, чтобы обновить ее для новых версий Spark. У меня сработало следующее!

$ brew install apache-spark

Предполагая, что у вас установлен brew, обычно устанавливается Spark 2.3.0 и выше. Чтобы узнать, где это установлено, сделайте следующее, чтобы получить свой путь:

$ brew info apache-spark

Это должно дать вам что-то вроде этого:

Следующий шаг включает настройку вашего SPARK_HOME. Выполните в своем терминале следующее:

$ export SPARK_HOME="/usr/local/Cellar/apache-spark/2.3.1/libexec/"

Проверьте, правильно ли установлен pyspark. Для этого введите pyspark в свой терминал.

Надеюсь, это сработало для вас, и вы установили Spark! Теперь поработаем с jupyter. Я предполагаю, что у вас установлен jupyter. Если не смотрите здесь.

После установки запустите свой блокнот на Python:

$ jupyter notebook

Надеюсь, это положило начало новой записной книжке для вас! Введите в новую записную книжку следующее:

import os
exec(open(os.path.join(os.environ["SPARK_HOME"], 'python/pyspark/shell.py')).read())

Надеюсь, это то же самое, что и вам:

У меня было руководство со страницы github, которую нужно было немного подправить для новых версий. Оригинальную ссылку можно найти здесь: ссылка на github

Альтернатива, предложенная на странице, также сработала для меня. Для этого введите в свой терминал следующее:

$ export PYSPARK_DRIVER_PYTHON=jupyter
$ export PYSPARK_DRIVER_PYTHON_OPTS=notebook

После этого запустите pyspark. При этом записная книжка запускается автоматически, и вам доступен объект контекста искры. Таким образом, вы должны запустить pyspark, запустив в своем терминале следующее после выполнения двух вышеуказанных команд:

$ pyspark

Это должно запустить записную книжку jupyter, и вы сможете делать следующее:

import pyspark
from pyspark.sql.session import SparkSession
spark = SparkSession.builder.appName("spark test").getOrCreate()
columns = ['id', 'dogs', 'cats']
vals = [
     (1, 2, 0),
     (2, 0, 1)
]
# create DataFrame
df = spark.createDataFrame(vals, columns)
df.show()
#example from this link

Это должно дать вам следующее:

Дайте мне знать, работает ли это для вас. Оставляйте комментарии о проблемах, с которыми вы сталкиваетесь, и я постараюсь их исправить!

Дополнительные уроки по Spark и о том, как использовать Spark с машинным обучением и большими данными, можно найти здесь:





ps: для написания кода в своем блоге среднего размера посмотрите на это:

Https://help.medium.com/hc/en-us/articles/224550008-Code-blocks-inline-code