Использование R в Apache Spark

Есть несколько вариантов доступа к библиотекам R в Spark:

  • непосредственно с помощью sparkr
  • используя языковые привязки, такие как rpy2 или rscala
  • с помощью отдельной службы, такой как opencpu

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

У вас есть опыт интеграции R и Spark, которым вы можете поделиться?


person Community    schedule 06.03.2016    source источник


Ответы (1)


Основной язык проекта кажется важным фактором.

Если pyspark — это хороший способ использования Spark для вас (имеется в виду, что вы получаете доступ к Spark из Python), доступ к R через rpy2 не должен сильно отличаться от использования любой другой библиотеки Python с расширением C.

Существуют отчеты о том, что пользователи делают это (хотя и со случайными вопросами, такими как Как я могу разделить RDD pyspark, содержащие функции R или Могу ли я подключить внешний (R) процесс к каждому рабочему процессу pyspark во время установки)

Если R является вашим основным языком, помощь авторам SparkR с отзывами или дополнениями, где вы чувствуете ограничения, была бы правильным решением.

Если ваш основной язык — Scala, rscala должен быть вашей первой попыткой.

Хотя комбинация pyspark + rpy2 может показаться наиболее «установленной» (например, «использует самую старую и, вероятно, наиболее проверенную кодовую базу»), это не обязательно означает, что это лучшее решение (и молодые пакеты могут быстро развиваться). Я бы сначала оценил, какой язык является предпочтительным для проекта, и попробовал варианты оттуда.

person lgautier    schedule 06.03.2016
comment
@CafeFeed У меня нет с этим опыта. - person lgautier; 19.03.2016