Установка Apache Spark и запуск Pyspark в Ubuntu 22.04

Здравствуйте мои уважаемые читатели, сегодня мы рассмотрим установку Apache Spark в Ubuntu 22.04, а также убедимся, что наш Pyspark работает без ошибок.
В нашей предыдущей статье об инженерии данных мы говорили о том, что инженер данных отвечает за обработку большого количества данных в масштабе, Apache Spark является одним из хороших инструментов для инженера данных для обработки данных любого размера. Я объясню шаги, которые необходимо выполнить, используя примеры и скриншоты с моей машины, чтобы вы не столкнулись с ошибками.

Что такое Apache Spark и для чего он используется?

Apache Spark — это унифицированный аналитический движок для обработки крупномасштабных данных на машине с одним узлом или на нескольких кластерах. Он имеет открытый исходный код, то есть вам не придется платить за его загрузку и использование. Он использует кэширование в памяти и оптимизированное выполнение запросов для быстрого выполнения аналитических запросов для любого объема данных.
Он предоставляет высокоуровневые API на Java, Scala, Python и R, оптимизированный движок, поддерживающий общие графы выполнения. Он поддерживает повторное использование кода в различных рабочих нагрузках, таких как пакетная обработка, аналитика в реальном времени, обработка графов, интерактивные запросы и машинное обучение.

Как работает Apache Spark?

Spark выполняет обработку в памяти, сокращая количество шагов в задании и повторно используя данные в нескольких параллельных операциях. В Spark требуется только один шаг: данные считываются в память, выполняются операции, а результаты записываются обратно, что позволяет значительно ускорить выполнение. Spark также повторно использует данные с помощью кэша в памяти, что значительно ускоряет алгоритмы машинного обучения, которые многократно вызывают функцию на одном и том же наборе данных. Для повторного использования данных мы создаем DataFrames — абстракцию над Resilient Distributed Dataset (RDD), которая представляет собой коллекцию объектов, кэшируемых в памяти и повторно используемых в нескольких операциях Spark. Это значительно снижает задержку, поскольку Apache Spark работает в 100 раз быстрее в памяти и в 10 раз быстрее на диске, чем Hadoop MapReduce.

Рабочие нагрузки Apache Spark

Ядро Spark

Spark Core — это базовый механизм общего исполнения для платформы spark, на котором строится вся остальная функциональность. Он отвечает за распределение, мониторинг заданий, управление памятью, восстановление после сбоев, планирование и взаимодействие с системами хранения данных. Spark Core доступен через интерфейс прикладного программирования (API), созданный для Java, Scala, Python и R.

Spark SQL

Выполняет интерактивные запросы к структурированным и полуструктурированным данным. Spark SQL — это распределенный механизм запросов, который обеспечивает интерактивные запросы с низкой задержкой до 100 раз быстрее, чем MapReduce. Он включает оптимизатор на основе затрат, колоночное хранилище и генерацию кода для быстрых запросов при масштабировании до тысяч узлов.

Spark Streaming

Spark Streaming — это решение реального времени, использующее возможности быстрого планирования Spark Core для выполнения потоковой аналитики. Он получает данные в виде мини-пакетов и выполняет преобразования RDD (Resilient Distributed Datasets) на этих мини-пакетах данных.

Библиотека машинного обучения (MLib)

Spark включает MLlib, библиотеку алгоритмов для машинного обучения данных в масштабе. Модели машинного обучения могут быть обучены специалистами по исследованию данных с помощью R или Python на любом источнике данных Hadoop, сохранены с помощью MLlib и импортированы в конвейер на базе Java или Scala.

GraphX

Spark GraphX — это распределенная система обработки графов, построенная на базе Spark. GraphX обеспечивает ETL, исследовательский анализ и итеративные вычисления графов, позволяя пользователям интерактивно строить и преобразовывать графовые структуры данных в масштабе. Он также предоставляет оптимизированную среду выполнения для этой абстракции.

Ключевые преимущества Apache Spark:

  • Скорость: Spark помогает запускать приложения в кластере Hadoop до 100 раз быстрее в памяти и в 10 раз быстрее при работе на диске. Это возможно благодаря уменьшению количества операций чтения/записи на диск. Благодаря кэшированию в памяти и оптимизированному выполнению запросов, Spark позволяет быстро выполнять аналитические запросы к данным любого размера.

  • Поддержка нескольких языков: Apache Spark изначально поддерживает Java, Scala, R и Python, предоставляя вам множество языков для создания приложений.

  • Множественные рабочие нагрузки: Apache Spark поставляется с возможностью выполнения различных рабочих нагрузок, включая интерактивные запросы, аналитику в реальном времени, машинное обучение и обработку графов.

Теперь у нас есть базовое представление об Apache Spark, и мы можем приступить к его установке на наши машины.

Для загрузки Apache Spark в Linux нам необходимо, чтобы на нашей машине была установлена java.
Чтобы проверить, установлена ли java на вашей машине, используйте эту команду:

java --version
Войти в полноэкранный режим Выйти из полноэкранного режима

Например, на моей машине java установлена:

Если у вас не установлена java, используйте следующие команды для ее установки:

Установить Java

сначала обновите системные пакеты

sudo apt update
Войти в полноэкранный режим Выйти из полноэкранного режима

Установите java

sudo apt install default-jdk  -y
Войдите в полноэкранный режим Выход из полноэкранного режима

проверить установку java

java --version
Войти в полноэкранный режим Выйдите из полноэкранного режима

Ваша версия java должна быть 8 или более поздней версии, и наши критерии выполнены.

Установите Apache Spark

Сначала установите необходимые пакеты, используя следующую команду:

sudo apt install curl mlocate git scala -y
Войти в полноэкранный режим Выйти из полноэкранного режима

Скачайте Apache Spark. Найдите последнюю версию на странице загрузки

wget https://dlcdn.apache.org/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz
Войдите в полноэкранный режим Выйти из полноэкранного режима

Замените версию, которую вы загружаете со страницы загрузки Apache, где я
ввел свою ссылку на файл Spark.

Извлеките скачанный файл, используя эту команду для извлечения файла:

tar xvf spark-3.3.0-bin-hadoop3.tgz
Войти в полноэкранный режим Выйти из полноэкранного режима

Убедитесь, что вы указали имя коллекционного файла, который вы скачали, так как это может быть другая версия. Приведенная выше команда извлекает скачанный файл в каталог, в который вы его загрузили. Убедитесь, что вы знаете каталог пути для вашего файла spark.

Например, каталог моего файла spark выглядит так, как показано на рисунке:

Как только вы выполнили вышеуказанные действия, значит, вы закончили загрузку Apache Spark, но подождите, нам нужно настроить среду Spark. Это один из тех разделов, которые выдают ошибки, и вы задаетесь вопросом, что вы делаете неправильно. Тем не менее, я расскажу вам, как успешно настроить среду и использовать Apache Spark на вашей машине, а также убедиться, что Pyspark работает как надо.

Как настроить среду Spark

Для этого вам нужно установить некоторые переменные окружения в конфигурационном файле bashrc.

Откройте этот файл с помощью вашего редактора, в моем случае я буду использовать редактор nano, следующая команда откроет этот файл в редакторе nano:

sudo nano ~/.bashrc
Войти в полноэкранный режим Выйти из полноэкранного режима

Это файл с конфиденциальной информацией, не удаляйте ни одной строки в нем, перейдите к нижней части файла и добавьте следующие строки в файл bashrc, чтобы гарантировать, что мы будем успешно использовать наш Spark.

export SPARK_HOME=/home/exporter/spark-3.3.0-bin-hadoop3

export PATH=$PATH:$SPARK_HOME/bin

export SPARK_LOCAL_IP=localhost

export PYSPARK_PYTHON=/usr/bin/python3

export PYTHONPATH=$(ZIPS=("$SPARK_HOME"/python/lib/*.zip); IFS=:; echo "${ZIPS[*]}"):$PYTHONPATH
Войти в полноэкранный режим Выйти из полноэкранного режима

Помните, я просил вас указать каталог установки Spark, этот каталог установки должен быть назначен для экспорта SPARK_HOME

export SPARK_HOME=<your Spark installation directory> 
Вход в полноэкранный режим Выход из полноэкранного режима

Например, вы можете видеть, что у меня установлено:

export SPARK_HOME=/home/exporter/spark-3.3.0-bin-hadoop3
Войти в полноэкранный режим Выйти из полноэкранного режима

Затем напишите остальные строки как есть, ничего не меняя, и сохраните этот файл bashrc. На рисунке ниже показано, как выглядит конец моего файла bashrc после добавления переменных окружения.

После выхода из нашего файла bashrc из редактора nano необходимо сохранить переменные. Используйте следующую команду:

source ~/.bashrc
Войти в полноэкранный режим Выйти из полноэкранного режима

На рисунке ниже показано, как нужно писать команду, я написал команду дважды, но достаточно написать ее один раз.

Как запустить оболочку Spark

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

spark-shell
Войти в полноэкранный режим Выйти из полноэкранного режима

При успешной настройке наших переменных вы увидите изображение, подобное этому.

Как запустить Pyspark

Используйте следующую команду:

pyspark
Войти в полноэкранный режим Выйти из полноэкранного режима

При успешной настройке наших переменных вы увидите изображение, подобное этому.

В этой статье мы привели руководство по установке Apache Spark в Ubuntu 22.04, а также необходимых зависимостей; кроме того, подробно описана конфигурация среды Spark.

Эта статья должна облегчить вам понимание Apache Spark и его установку. Так что, уважаемые читатели, не стесняйтесь оставлять отзывы и комментарии.

Оцените статью
devanswers.ru
Добавить комментарий