2016-03-06 21 views
7

Istnieje kilka opcji, aby uzyskać dostęp do biblioteki R w Spark:Korzystanie R w Apache Spark

  • bezpośrednio korzystające
  • używając powiązań językowych jak lub rscala
  • użyciu autonomicznego usługi jak

Wygląda na to, że SparkR jest dość ograniczony, OpenCPU wymaga utrzymywania dodatkowej usługi, a powiązania mogą mieć sta kwestia bility. Czy jest coś szczególnego w architekturze Sparka, które sprawia, że ​​używanie dowolnego rozwiązania nie jest łatwe.

Czy masz jakieś doświadczenia z integracją R i Spark, którymi możesz się podzielić?

Odpowiedz

4

Głównym językiem projektu wydaje się być ważnym czynnikiem.

Jeślipyspark to dobry sposób na wykorzystanie Spark dla ciebie (co oznacza, że ​​masz dostęp Spark od Pythona) dostępu do R poprzez rpy2 nie powinno dużej różnicy z pomocy innych bibliotek Pythona z C-extension.

Istnieją doniesienia o użytkownikach robi tak (chociaż od czasu do czasu pytania, takie jak How can I partition pyspark RDDs holding R functions lub Can I connect an external (R) process to each pyspark worker during setup)

Jeśli R jest głównym językiem, pomaga autorom SparkR ze sprzężeniem zwrotnym lub wkładów w którym czujesz istnieje ograniczenie byłoby sposobem iść.

Jeśli Twoim głównym językiem jest Scala, pierwsza próba to rscala.

Chociaż kombinacja pyspark + rpy2 wydaje się być najbardziej "ustalona" (jak w "używa najstarszego i prawdopodobnie najlepiej wypróbowanego kodu"), nie musi to oznaczać, że jest to najlepsze rozwiązanie (a młode pakiety mogą szybko ewoluować) . Najpierw oceniam, jaki jest preferowany język dla projektu i wypróbuję z niego opcje.

+0

Czy uważasz, że OpenCPU nie jest dobrą opcją? –

+0

@CafeFeed Nie mam z tym doświadczenia. – lgautier