PySpark - это Python API для Apache Spark, который позволяет использовать простоту Python и мощность Apache Spark для укрощения больших данных.

Изучение PySpark может повысить вашу рыночную стоимость. Согласно опросу O’Reilly, обучение Spark может повлиять на вашу зарплату больше, чем получение степени доктора философии!

Однако настройка Pyspark на персональном компьютере - долгая задача, которая занимает много памяти на вашем компьютере и может отпугнуть вас от начала обучения. Надеюсь, вы легко сможете настроить его в Google Collab, и в этой статье вы узнаете, как это сделать. Давайте начнем!

Установка PySpark

Откройте новую записную книжку в Google Colab, запустите следующий код:

!apt-get install openjdk-8-jdk-headless -qq > /dev/null
!wget -q https://downloads.apache.org/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz
!tar -xvf spark-3.1.1-bin-hadoop2.7.tgz
!pip install -q findspark
!pip install pyspark

Как вы, возможно, знаете, когда мы хотим запустить командные оболочки в Jupyter Notebook, мы начинаем строку с символа (!), чтобы сообщить GC, что нам нужна оболочка. Первая строка установит JDK Java.

Вторая строка загрузит PySpark с командой wget. Здесь очень важно проверить, активна ли ссылка и что мы используем последнюю версию PySpark. Чтобы убедиться в ее доступности, посетите официальный сайт и выберите последнюю версию 3.x. Строка tar распакует все загруженные файлы PySpark. Наконец, в последних двух строках будут установлены модули findspark и pyspark с помощью команды pip.

Запуск PySpark

Теперь, когда вы установили Spark и Java в Colab, пришло время установить путь к среде, который позволит вам запускать Pyspark в среде Colab. Задайте расположение Java и Spark, запустив следующий код:

import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-3.1.1-bin-hadoop2.7"

Наконец, запустите локальный SparkSession для проверки ваших установок:

import findspark
findspark.init()
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local[*]").getOrCreate()

Поздравляю! Ваш ноутбук готов к работе и использованию PySpark! :)