Что такое Apache Spark?

robot
Генерация тезисов в процессе

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

Выдающиеся особенности Spark

Spark предоставляет вам эту целую экосистему:

  • Скорость: Двигатель в памяти, который просто летает через обработку данных
  • Универсальность: Делает всевозможные вещи — SQL, машинное обучение, работа в реальном времени, графики
  • Единая платформа: Хорошо работает с различными источниками данных
  • Распределенная обработка: Распределяет работу по кластерам для огромных наборов данных
  • Богатые библиотеки: Есть MLlib для машинного обучения. Также Spark Streaming. И GraphX для графовой аналитики.

Внутри архитектуры Spark

Основные компоненты Apache Spark включают:

  1. Spark Driver: Имеет все эти планировщики и менеджеры, которые превращают ваш код в задания
  2. Исполнители: Эти выполняют фактические вычисления
  3. Менеджеры кластеров: Могут быть автономными, YARN или любыми другими. Они захватывают рабочие узлы.
  4. Рабочие узлы: Серверы, выполняющие тяжелую работу

PySpark UDFs: Делаем Spark своим

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

Сделайте UDF, как этот:

питон из pyspark.sql.functions импортировать udf из pyspark.sql.types import StringType

Определите функцию Python

Определение convert_case(text): вернуть text.upper() если text иначе None

Зарегистрироваться как UDF

upper_case_udf = udf(convert_case, StringType())

Применить к DataFrame

df = df.withColumn("upper_text", upper_case_udf(df.text_column))

UDF не идеальны. Они медленнее встроенных функций из-за сериализации. Возможно, стоит попробовать векторизованные UDF, если важна скорость. Используйте их осторожно.

Настройка Spark с помощью spark-defaults.conf

Вы можете управлять Spark через этот файл spark-defaults.conf. Это просто пары свойств и значений:

spark.master=пряжа spark.executor.memory=4g spark.driver.memory=2g spark.executor.cores=2 spark.sql.shuffle.partitions=200

Хорошая настройка, похоже, связана с памятью. Также настройки разделов. Сборка мусора может иметь большое значение. Опции сериализации могут помочь производительности.

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить