SparkR (R on Apache Spark Cluster)

Entscheidungsbäume, Random Forest, Support Vektor Maschinen, Neuronale Netze, ...

Moderator: consuli

consuli
Beiträge: 445
Registriert: Mo Okt 10, 2016 8:18 pm

SparkR (R on Apache Spark Cluster)

Beitrag von consuli » Do Nov 07, 2019 5:11 pm

Hat schon mal jemand was mit SparkR gemacht? SparkR ist eine R-API für das Apache Spark Cluster Computing Framework.

Apache Spark umfasst sowohl eine Big Data Storage Lösung alternativ zu Hadoop als auch einen clusterbasierten Business Intelligence Analysebaustein. Letzterer beinhaltet auch statistische Prozeduren wie Regression, Entscheidungsbäume und weitere Cluster und Classifacation Verfahren. Diese lassen sich über SparkR ansprechen und laufen dann in Großrechnergeschwindigkeit auf dem Spark Cluster. Apache Spark an sich ist Open Source. Oracle bietet kostenpflichtige weiter gehende Servicedienstleitungen für Apache Spark an.
"Sehet die Vögel unter dem Himmel an: sie säen nicht, sie ernten nicht, sie sammeln nicht in die Scheunen; und euer himmlischer Vater ernährt sie doch." (Matthäus 6, V. 26)

Benutzeravatar
EDi
Beiträge: 939
Registriert: Sa Okt 08, 2016 3:39 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von EDi » Fr Nov 08, 2019 7:41 pm

Hat schon mal jemand was mit SparkR gemacht?
Ja, aber nur sehr wenig / nichts wirklich sinnvolles.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

consuli
Beiträge: 445
Registriert: Mo Okt 10, 2016 8:18 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von consuli » Fr Nov 15, 2019 12:07 pm

Kann man mit dem Apache Spark Cluster Computing eigentlich auch seine alten Rechner "wiederbeleben", indem man sie - ggf. mit mehrfachen - Netzwerkkarten zu einem Cluster-Verbund zusammen schaltet?

Im Laufe der Jahre sammelt sammelt man ja so einiges an Hardware an, von dem man sich emotional nicht trennen mag. Was aber auch nicht so alt wie Student's HP-Hochleistungsrechner :lol: ist!

Bei einem klassischen High-Performance Cluster (z.B. per Network File System (NFS) ) müssen zumindest die Workermaschinen hardware-mäßig ja tupfengleich sein, damit die Performance des Clusters auch näherungsweise mit der theoretischen Hardwareperformance skaliert.
"Sehet die Vögel unter dem Himmel an: sie säen nicht, sie ernten nicht, sie sammeln nicht in die Scheunen; und euer himmlischer Vater ernährt sie doch." (Matthäus 6, V. 26)

Benutzeravatar
EDi
Beiträge: 939
Registriert: Sa Okt 08, 2016 3:39 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von EDi » Fr Nov 15, 2019 2:37 pm

Spielt das in der Zeit wo wie Cloud-computing auf einen Klick zur Verfügung haben noch eine Rolle?
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

consuli
Beiträge: 445
Registriert: Mo Okt 10, 2016 8:18 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von consuli » So Nov 17, 2019 12:33 pm

Auf jeden Fall. Denn sämtliche großen Cloudanbieter sind US-Firmen und sind Uncle-Sam nach Patriot-At und dem Freedom-Act vepflichetet, sämtliche Daten herauszugeben (auch wenn die Server in Europa stehen). Damit genügen alle großen Cloudanbieter nicht den deutschen/ europäischen DSGVO Bestimmungen. Wenn man als Statistiker/Data-Scientist dort Kundendaten rechnen lässt, steht man mit einem Beim im Knast.

Außerdem: Fertige Apache Spark Cluster bieten die auch nicht an.
"Sehet die Vögel unter dem Himmel an: sie säen nicht, sie ernten nicht, sie sammeln nicht in die Scheunen; und euer himmlischer Vater ernährt sie doch." (Matthäus 6, V. 26)

consuli
Beiträge: 445
Registriert: Mo Okt 10, 2016 8:18 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von consuli » Mo Nov 18, 2019 8:17 pm

Das wichtigste hatte ich aber ganz vergessen. Die Amazon Machine Images laufen nur bei Amazon. Wenn man aus Geistigem-Eigentum-, Datenschutz- oder Kostengründen zu einem anderen Cloudanbieter wechselt, muss man die Cloud Machine dort wieder neu basteln.

Ist man da als Ein-Person-Freiberufler mittelfristig nicht effizienter, wenn man sich bei Ebay etwas gebrauchte Hardware kauft (ist ja auch ziemlich günstig) und mit Apache Spark selbst ein Computing Cluster aufsetzt? Und selbst wenn das eigene Cluster dann 12h rechnet statt 15 min bei Amazon. Man lässt zum Entwickeln ja nicht die kompletten Terrabyte-Daten durchrechnen, sondern nur eine kleine Entwicklungsstichprobe. Den Full-Job kann man ja nachts, am WE oder dann, wenn man mit anderer Arbeit beschäftigt ist, laufen lassen. Die effektive Mehrzeit der eigenen Cloud plus Zeitmanagement der Aufgaben gegenüber Amazon ist meiner Einschätzung nach daher marginal.

Und das eigene Apache Spark Know-How kann man gelegentlich auch noch mal an Geschäftskunden verkaufen. Die wollen jetzt ja alle von veraltet Hadoop auf den neuen Hype Apache Spark umstellen.
"Sehet die Vögel unter dem Himmel an: sie säen nicht, sie ernten nicht, sie sammeln nicht in die Scheunen; und euer himmlischer Vater ernährt sie doch." (Matthäus 6, V. 26)

Benutzeravatar
EDi
Beiträge: 939
Registriert: Sa Okt 08, 2016 3:39 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von EDi » Di Nov 19, 2019 12:34 am

Wenn man aus Geistigem-Eigentum-, Datenschutz- oder Kostengründen zu einem anderen Cloudanbieter wechselt, muss man die Cloud Machine dort wieder neu basteln.
Dafür gibt es doch auch Lösungen um das zu Automatisieren, z.B. Ansible https://de.wikipedia.org/wiki/Ansible

Ein einfaches shell-script tuts aber auch. Vor einpaar Jahren hatte ich mal das hier benutzt: https://github.com/EDiLD/dotfiles

Machine aufsetzen, script laufen lassen und fertig ist die Kiste...

Aber ja als Ein-Person-Freiberufler ist das on-top aber schon etwas Aufwand...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

consuli
Beiträge: 445
Registriert: Mo Okt 10, 2016 8:18 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von consuli » Do Nov 21, 2019 9:08 pm

EDi hat geschrieben:
Di Nov 19, 2019 12:34 am
Dafür (für das Neubasteln der Cloud Machine) gibt es doch auch Lösungen um das zu Automatisieren, z.B. Ansible https://de.wikipedia.org/wiki/Ansible

Ein einfaches shell-script tuts aber auch. Vor einpaar Jahren hatte ich mal das hier benutzt: https://github.com/EDiLD/dotfiles

Machine aufsetzen, script laufen lassen und fertig ist die Kiste...

Aber ja als Ein-Person-Freiberufler ist das on-top aber schon etwas Aufwand...
Wäre es dann nicht bedeutend einfacher Apache Spark stattdessen (ggf. mehrfach) als virtuelle Machine aufzusetzen? Denn virtuelle Machine Images (Appliances) sind genormt. .OVF, OVA oder .VMDK File reinladen. Fertig.

Ich habe gerade mal gesucht. Scheinbar gibt es bis jetzt leider noch keine fertige Appliance für Apache Spark. Aber ich habe zwei Anleitungen gefunden, wie man selbst eine virtuelle Apache Spark Maschine aufsetzt: P.S.: Es gibt auch Webhoster, bei denen man eine Virtuelle Maschine im Cloud-Modus (per CPU-Betriebszeit) abrechnen kann.
"Sehet die Vögel unter dem Himmel an: sie säen nicht, sie ernten nicht, sie sammeln nicht in die Scheunen; und euer himmlischer Vater ernährt sie doch." (Matthäus 6, V. 26)

Benutzeravatar
EDi
Beiträge: 939
Registriert: Sa Okt 08, 2016 3:39 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von EDi » Di Nov 26, 2019 12:49 am

Das kennst du schon, oder?

https://therinspark.com/

Der content ist auch heute schon online-lesbar - du musst ihn nur sichtbar machen (irgendein script blendet die sidebar aus?).
Oder hier das repo: https://github.com/r-spark/the-r-in-spark
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

consuli
Beiträge: 445
Registriert: Mo Okt 10, 2016 8:18 pm

Re: SparkR (R on Apache Spark Cluster)

Beitrag von consuli » Di Nov 26, 2019 8:48 pm

Nein, kannte ich bisher noch nicht.

Man muss aber aufpassen. Es gibt 2 API's für R <-> Spark:
  1. SparkR
  2. sparklyr
Eine Einführung in die Unterschiede findet sich hier: https://eddjberry.netlify.com/post/2017 ... -sparklyr/

Etwas allgemeiner gibt es zum Thema noch: https://www.heise.de/ratgeber/Machine-L ... 27469.html

Was die Installation und den Betrieb Apache Spark selbst angeht, soll

Apache Spark: The Definitive Guide - Big data processing made simple. Bill Chambers, Matei Zaharu

sehr gut sein.
"Sehet die Vögel unter dem Himmel an: sie säen nicht, sie ernten nicht, sie sammeln nicht in die Scheunen; und euer himmlischer Vater ernährt sie doch." (Matthäus 6, V. 26)

Antworten