💥Apache Spark на Google Colab? Установка PySpark в DS-облако
Apache Spark – один из самых востребованных вычислительных фреймворков в области Big Data. Благодаря кластерной архитектуре и выполнению заданий MapReduce в памяти он быстро обрабатывает огромные массивы данных. Spark имеет API для популярного в DS языка Python – PySpark и автоматически распараллеливает код, созданный на локальной машине, на все узлы кластера. Но как быть, если у вас нет кластера, а нужно обработать множество данных?
Помогут облачные решения – Google Colab, куда можно установить Spark. Cначала нужно загрузить Java, т.к. фреймворк написан на Scala и работает на JVM:
!apt-get install openjdk-8-jdk-headless -qq > /dev/null
Затем следует загрузить с официального сайта Apache Software Foundation сам фреймворк Spark вместе с Hadoop
!wget -q https://www-us.apache.org/dist/spark/spark-3.1.2/spark-3.1.2-bin-hadoop2.7.tgz
Разархивировать загруженный tgz-файл
!tar xf spark-3.1.2-bin-hadoop2.7.tgz
Далее следует установить библиотеку findspark, чтобы найти Spark в системе и импортировать его.
!pip install -q findspark
Затем следует задать путь к среде Colab, чтобы запустить там PySpark:
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-3.1.2-bin-hadoop2.7"
Чтобы обнаружить Spark в системе, импортируем findspark и используем метод findspark.init(). А метод findspark.find() поможет узнать, где установлен Spark:
import findspark
findspark.init()
findspark.find()
Наконец, можно импортировать сеанс Spark - SparkSession из PySpark.sql и создать точку входа во фреймворк, при необходимости указав имя приложения в конфигурационном параметре appName(“”)
from pyspark.sql import SparkSessionspark= SparkSession \
.builder \
.appName("Spark Application Name") \
.getOrCreate()
https://medium.com/geekculture/how-to-get-your-spark-installation-right-every-time-on-colab-218d57b6091d
Post #160
461