jeudi 19 mai 2016

Programmation R sous Spark avec SparkR

Apache Spark est un framework open source de calcul distribué dédié au Big Data. Sa particularité est qu’il est capable de travailler en mémoire vive. Il est très performant pour les opérations nécessitant plusieurs itérations sur les mêmes données, exactement ce dont ont besoin les algorithmes de machine learning.

Au-delà des API (modules de classes et fonctions) standards, Spark intègre des librairies additionnelles : Streaming, traitement des données en flux ; SQL, accès aux données Spark avec des requêtes SQL ; GraphX, traitement des graphes ; et, c’est ce qui nous intéresse au premier chef, MLlib, types de données et algorithmes pour le machine learning.

SparkR est un package R qui permet de manipuler les types de données et méthodes de MLlib (pas toutes, le portage est en cours) en programmation R, et de bénéficier  directement des avantages de Spark (gestion de la volumétrie, calcul distribué). Ce tutoriel a pour objectif de s’initier à l’utilisation de SparkR en traitant un exemple typique d’analyse prédictive.

Enfin, et ça me fait très plaisir de pouvoir le dire, ce document doit beaucoup au travail de deux groupes d’étudiants du Master SISE pour leurs projets "Big Data", l’un avait travaillé sur "SparkR", l’autre sur "PySpark" (programmation Python, qui fera l’objet d’un autre tutoriel). Ils ont largement défriché le terrain, qu’ils en soient chaleureusement remerciés.

Mots-clés : logiciel R, package SparkR, big data, hadoop, spark, big data analytics, rstudio, régression logistique
Lien : R sous Spark avec SparkR
Fichiers : Données et programme R
Références :
Phelip A., "Découvrez SparkR, la nouvelle API de Spark", Blog Xebia, Sept. 2015.
Emaasit D., "Installing and starting SparkR locally on Windows OS and RStudio", R-bloggers, July 2015.
Tutoriel Tanagra, "Programmation Python sous Spark avec PySpark", mai 2016.
Tutoriel Tanagra, "Programmation R sous Hadoop", avril 2015.