Аудитория блога - соискатели машинного обучения, которые работали преимущественно в Pandas и Sci-kit-Learn. Для машинного обучения этих пакетов достаточно, когда вы новичок и хотите изучить машинное обучение, как я был за несколько месяцев до этого, и после того, как вы перейдете в В качестве посредника в качестве специалиста по данным и инженера по машинному обучению вам необходимо вникнуть в любую из фреймворков, поддерживающих параллельную обработку, поскольку данные, с которыми вы собираетесь работать, в основном насчитывают миллиарды и миллионы записей.

Не волнуйтесь, этот пост может быть лучшей отправной точкой, если вы хотите быстро познакомиться с Apache Spark и Spark-ML.

Введение в Apache Spark:

Spark написан с использованием Scala, но различные API доступны с использованием Python, Java, Scala. Spark - это в основном платформа обработки данных, поддерживающая машинное обучение.

Установка Apache Spark:

Apache Spark - это программное обеспечение с открытым исходным кодом, которое также основано на модели клиент-сервер, где есть мастер, который действует как контроллер, и рабочий, который запускает каждый вычислительный процесс. и он также может работать в клиентском режиме.

Предварительные требования:

ОС: ОС, поддерживающая ядро ​​JVM 8 (Windows, Mac-os, Linux)

Среда выполнения JVM 8



Скачать Spark по этой ссылке:



Загрузите версию с предварительно созданным двоичным файлом spark-hadoop.

Папка / sbin содержит файлы для запуска Spark в автономном главном и клиентском узлах.

Есть разные способы запустить искру.

Автономный режим.

Kubernetes

Менеджер ресурсов пряжи.

После установки вы можете зайти в папку bin, чтобы проверить, правильно ли установлена ​​Spark.

pip install pyspark установит интерфейс python-spark (или) вы можете переместить исполняемый файл pyspark в папку пакетов сайта python.

Программа драйвера - это код Python, который мы пишем, а диспетчер кластера - главный узел, а рабочие процессы добавляются с помощью ./start-slave.sh ‹master-url›.

Spark запускает мастер на localhost: 8080, если IP не указан

На главной странице вы можете проверить статус запущенной и завершенной заявки.

Spark имеет 2 типа данных:

RDD (устойчивый распределенный набор данных)

DataFrame

Dataframe - это строка-столбец представления RDD (структура, подобная массиву)

Создание фрейма данных:

из pyspark import SparkContext

из pyspark.sql импортировать SQLContext

sc = SparkContext (). master («»)

sql = SQLContext (sc)

df = sql.DataFrame (..)

Вы также можете читать данные непосредственно из таблиц json, csv, sql и т. Д.

df = sql.read (file = ””). options ()

Spark хранит фрейм данных в отдельном разделе, по умолчанию каждое ядро ​​будет иметь раздел данных 1024 МБ, вы также можете переназначить разделение.

df.rdd.repartition ()

(or)

df.rdd.coalesce (‹no›)

В Spark есть два типа операций.

Трансформации

Действия

Преобразования производят отличное от результата rdd, тогда как action при вызове просто обеспечивает вывод, отличный от rdd.

UDF (функции, определяемые пользователем):

При очистке данных большинство инженеров машинного обучения, как правило, используют свои настраиваемые функции с помощью pandas df.apply, в Spark, чтобы применить любую настраиваемую функцию, вам необходимо использовать UDF

from pyspark.sql.functions import udf
from pyspark.sql.types import IntegerType
def x ():
return 1
x_udf = udf (x, IntegerType ())

Функциональная инженерия:

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

Продолжение следует ….