2016-01-26 3 views
0

У меня есть скрипт R, работающий в локальной среде: каждая запись/строка подается в функцию func для выполнения некоторых вычислений. поэтому поток выглядит следующим образом.Как использовать sparkR для параллельных вычислений на разных кластерах?

new <- lapply(old, func) 

В идеале, используя sparkR, я бы ожидать, каждый работник имеет функцию FUNC и выполнять вычисления на подмножестве «старого». В этом случае func очень прост и может быть рассчитан локально (нет необходимости в распределенной версии этой функции).

Кто-нибудь знает, как достичь этого при использовании SparkR? В основном возникает вопрос, есть ли какая-либо поддержка в SparkR, функционирующая как допараллельная, но у нескольких работников.

+0

в основном, речь идет о «есть ли поддержка в SparkR функционирует как doparallel, но на нескольких рабочих» – HappyCoding

+0

Вы хотите сделать карту? Если да, см. Http://stackoverflow.com/questions/31012765/how-to-do-map-and-reduce-in-sparkr –

ответ

0

Параллельные функции, аналогичные doParallel на SparkR разрабатываются, но пока не доступны в 1.6.0

https://issues.apache.org/jira/browse/SPARK-7264

Другим вариантом может быть использование UDF, в SparkR, которые также разрабатываются в настоящее время и пока недоступны.

https://issues.apache.org/jira/browse/SPARK-6817

+0

спасибо за ответ. чувствую удивление, что у sparkR пока нет этого. с нетерпением жду нового выпуска. но я буду держать это сообщение открытым какое-то время, если есть кто-то, кто знает какую-то альтернативу для решения проблемы. спасибо :) – HappyCoding

+0

проверить https://github.com/amplab-extras/SparkR-pkg и https://amplab-extras.github.io/SparkR-pkg/. кажется, оригинальная вспышка R в amplab-extras может поддерживать RDD как распределенные. – HappyCoding

+0

@HappyCoding Проблема не в самой поддержке, а в том, как производительность и надежность. Вот почему RDD API не включен в SparkR со времени официального выпуска. – zero323