2017-02-07 31 views
1

В настоящее время у меня есть запрос R, который может выполнять параллельную обработку в цикле с использованием foreach. Но это делается с использованием одного сервера с 32 ядрами. Из-за моего размера данных я пытаюсь найти r-пакеты, которые могут распространять вычисления на разные оконные серверы и могут работать с foreach для параллелизма.R пакетов для распределенной обработки

Очень ценю за вашу помощь!

ответ

1

SparkR - это ответ. От "Announcing SparkR: R on Apache Spark":

SparkR, пакет R, первоначально разработанный на AMPLab, обеспечивает интерфейс R Apache Spark и использование распределенного вычислительного механизма Spark позволяет нам запускать крупномасштабный анализ данных из оболочки R.

См. Также SparkR (R on Spark).

Для начала вам нужно создать кластер искры. Это должно помочь web page. Документация Spark, без использования Mesos или YARN в качестве менеджера кластера, составляет here. Как только у вас есть Spark setup, см. Wendy Yu's tutorial на SparkR. Она также показывает, как интегрировать H20 с Spark, который называется «Игристая вода».

+0

Большое спасибо, Брайан. У меня есть несколько оконных серверов (локальная сеть). Знаете ли вы какой-либо документ/руководство с примерами, которые могут помочь мне написать коды с помощью SparkR для распределения вычислений на серверы? Еще раз спасибо!! – user2037892

+0

Я обновил свой ответ с дополнительными инструкциями. –

2

Для нескольких выпусков сейчас R отправляется с базовой библиотекой parallel. Вы можете сделать гораздо хуже, чем начать читать его довольно превосходные (и все еще короткие) pdf vignette.

В двух словах, вы можете просто сделать что-то вроде

mclapply(1:nCores, someFunction()) 

и функции someFunction() будет выполняться параллельно над nCores. По умолчанию значение половины ваших физических ядер может быть хорошим началом.

У Task View on High-Performance Computing есть еще много указателей.

 Смежные вопросы

  • Нет связанных вопросов^_^