Подтвердить что ты не робот

SparkR против sparklyr

Есть ли у кого-нибудь обзор преимуществ/недостатков SparkR против sparklyr? Google не дает удовлетворительных результатов, и оба они кажутся довольно похожими. Попробуйте оба, SparkR выглядит намного более громоздким, в то время как sparklyr довольно прямолинейный (как для установки, так и для использования, особенно с входами dplyr). Может ли sparklyr использоваться только для запуска функций dplyr параллельно или также "нормального" R-кода?

Лучший

4b9b3361

Ответ 1

Самым большим преимуществом SparkR является способность запускать на Spark произвольные пользовательские функции, записанные в R:

https://spark.apache.org/docs/2.0.1/sparkr.html#applying-user-defined-function

Так как sparklyr переводит R в SQL, вы можете использовать очень малый набор функций в операторах mutate:

http://spark.rstudio.com/dplyr.html#sql_translation

Этот недостаток несколько смягчается Extensions (http://spark.rstudio.com/extensions.html#wrapper_functions).

Кроме этого, sparklyr - победитель (на мой взгляд). Помимо очевидного преимущества использования знакомых функций dplyr, sparklyr имеет гораздо более полный API для MLlib (http://spark.rstudio.com/mllib.html) и вышеупомянутые расширения.

Ответ 2

Подробные сведения и подробные сведения можно найти в документации . Цитируя из документации, "пакет sparklyr предоставляет полный сервер dplyr". Это отражает, что sparklyr - это NOT замена оригинальной искры apache, но расширение на нее.

Продолжая рассказывать о своей установке (я пользователь Windows) на автономном компьютере, вам нужно либо загрузить и установить новую версию RStudio Preview, либо выполнить следующую последовательность команд в оболочке RStudio,

> devtools::install_github("rstudio/sparklyr")

установить пакеты readr и digest, если они не установлены.

install.packages("readr")
install.packages("digest")
library(sparklyr)
spark_install(version = "1.6.2")`

Как только пакеты установлены, и вы попытаетесь подключиться к локальному экземпляру искры с помощью команды;

sc <- spark_connect(master = "local")

Вы можете увидеть ошибку, например

Создан каталог по умолчанию для hadoop bin в: C:\spark-1.6.2\tmp\hadoop Ошибка:

Чтобы запустить Spark на Windows, вам нужна копия Hadoop winutils.exe:

  • Загрузить Hadoop winutils.exe из
  • Скопируйте файл winutils.exe в C:\spark-1.6.2\tmp\hadoop\bin

В качестве альтернативы, если вы используете RStudio, вы можете установить RStudio Preview Release, который включает встроенную копию файла Hadoop winutils.exe.

Разрешение ошибки предоставляется вам. Перейдите к учетной записи github, загрузите файл winutils.exe и сохраните его в местоположении, C:\spark-1.6.2\tmp\hadoop\bin и попробуйте снова создать контекст искры. В прошлом году я опубликовал всеобъемлющую запись в блоге RStudio Preview. Это значительно избавит вас от необходимости создавать искробезопасный текст. Продолжая далее, вот подробное сообщение о том, как можно использовать sparklyr R-bloggers.

Надеюсь, это поможет.

Приветствия.

Ответ 3

Я могу дать вам основные моменты для sparklyr:

В текущей версии 0.4 она еще не поддерживает выполнение произвольного параллельного кода. Однако расширения можно легко записать в Scala, чтобы преодолеть это ограничение, см. sparkhello.

Ответ 4

... добавление к вышеизложенному от Хавьера...

Что я могу найти до сих пор, sparklyr не поддерживает do(), что делает его полезным только тогда, когда вы хотите делать то, что разрешено мутацией, суммировать и т.д. Под капотом sparklyr преобразуется в Spark SQL, но doesn 't (пока?) преобразует do() в нечто вроде UDF.

Кроме того, что я могу найти до сих пор, sparklyr не поддерживает tidyr, включая unsest().

Ответ 5

Являясь оболочкой, существуют ограничения для sparklyr. Например, использование copy_to() для создания фреймворка Spark не сохраняет столбцы, отформатированные как даты. С SparkR, as.Dataframe() сохраняются даты.

Ответ 6

Недавно я написал обзор преимуществ/недостатков SparkR vs sparklyr, которые могут представлять интерес: https://eddjberry.netlify.com/post/2017-12-05-sparkr-vs-sparklyr/.

В верхней части сообщения есть таблица, в которой содержится общий обзор различий для диапазона критериев.

Я заключаю, что sparklyr предпочтительнее SparkR. Наиболее заметными преимуществами являются:

  • Улучшение управления данными с помощью dpylr
  • Соглашения об именовании функциональных возможностей
  • Лучшие инструменты для быстрой оценки моделей ML.
  • Легче запускать произвольный код на Spark DataFrame