Apache Spark — это движок для аналитики с открытым исходным кодом для больших данных. Он в некоторой степени изменил правила игры для организаций, работающих с огромными объемами данных. Spark быстрый. Действительно быстрый. Он использует обработку в памяти, что позволяет ему обгонять традиционные фреймворки — на 100 раз быстрее, чем MapReduce для операций с памятью. Дисковые операции? Все еще в 10 раз быстрее.
Выдающиеся особенности Spark
Spark предоставляет вам эту целую экосистему:
Скорость: Двигатель в памяти, который просто летает через обработку данных
Универсальность: Делает всевозможные вещи — SQL, машинное обучение, работа в реальном времени, графики
Единая платформа: Хорошо работает с различными источниками данных
Распределенная обработка: Распределяет работу по кластерам для огромных наборов данных
Богатые библиотеки: Есть MLlib для машинного обучения. Также Spark Streaming. И GraphX для графовой аналитики.
Внутри архитектуры Spark
Основные компоненты Apache Spark включают:
Spark Driver: Имеет все эти планировщики и менеджеры, которые превращают ваш код в задания
Исполнители: Эти выполняют фактические вычисления
Менеджеры кластеров: Могут быть автономными, YARN или любыми другими. Они захватывают рабочие узлы.
Рабочие узлы: Серверы, выполняющие тяжелую работу
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 не идеальны. Они медленнее встроенных функций из-за сериализации. Возможно, стоит попробовать векторизованные UDF, если важна скорость. Используйте их осторожно.
Настройка Spark с помощью spark-defaults.conf
Вы можете управлять Spark через этот файл spark-defaults.conf. Это просто пары свойств и значений:
Хорошая настройка, похоже, связана с памятью. Также настройки разделов. Сборка мусора может иметь большое значение. Опции сериализации могут помочь производительности.
Spark продолжает развиваться. Он велик в мире данных. Не идеален, но довольно важен.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Что такое Apache Spark?
Apache Spark — это движок для аналитики с открытым исходным кодом для больших данных. Он в некоторой степени изменил правила игры для организаций, работающих с огромными объемами данных. Spark быстрый. Действительно быстрый. Он использует обработку в памяти, что позволяет ему обгонять традиционные фреймворки — на 100 раз быстрее, чем MapReduce для операций с памятью. Дисковые операции? Все еще в 10 раз быстрее.
Выдающиеся особенности Spark
Spark предоставляет вам эту целую экосистему:
Внутри архитектуры Spark
Основные компоненты Apache Spark включают:
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 продолжает развиваться. Он велик в мире данных. Не идеален, но довольно важен.