Programmation R sous Spark avec SparkR

download Programmation R sous Spark avec SparkR

of 30

  • date post

    11-Jan-2017
  • Category

    Documents

  • view

    215
  • download

    1

Embed Size (px)

Transcript of Programmation R sous Spark avec SparkR

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 1

    Installation du framework Spark sous Windows

    La librairie MLlib de Spark pour le Machine Learning

    Programmation Python avec PySpark

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 2

    Le framework Spark Objectif du tutoriel

    Apache Spark est un framework open source de calcul distribu ddi au Big Data. Sa particularit est quil

    est capable de travailler en mmoire vive. Il est trs performant pour les oprations ncessitant plusieurs

    itrations sur les mmes donnes, exactement ce dont ont besoin les algorithmes de machine learning.

    Spark peut fonctionner sans Hadoop, mais il a besoin dun gestionnaire de clusters (quil a en interne) et dun

    systme de fichiers distribus (quil na pas), ce que peut lui fournir Hadoop avec respectivement Hadoop

    Yarn et HDFS (Hadoop Distributed File System). De fait, les faire fonctionner ensemble est trs avantageux

    (Hadoop, stockage ; Spark, calculs).

    Au-del des API (modules de classes et fonctions) standards, Spark intgre des librairies additionnelles :

    Streaming, traitement des donnes en flux ; SQL, accs aux donnes Spark avec des requtes SQL ;

    GraphX, traitement des graphes ; MLlib, types de donnes et algorithmes pour le machine learning.

    PySpark (Spark Python API) est une librairie qui permet de manipuler les objets et mthodes de Spark en

    programmation Python, et de bnficier directement de ses avantages (gestion de la volumtrie, calcul

    distribu). Elle inclut la MLlib (le portage est plus avanc par rapport R/SParkR). Ce tutoriel a pour objectif

    de sinitier lutilisation de Python/PySpark en traitant un exemple typique danalyse prdictive.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://spark.apache.org/http://spark.apache.org/https://spark.apache.org/docs/latest/mllib-guide.htmlhttps://spark.apache.org/docs/0.9.0/python-programming-guide.html

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 3

    1. Installation de Spark sous Windows

    2. Installation de lenvironnement de dveloppement Anaconda

    3. Programmation Python avec PySpark

    4. Rfrences

    Plan

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 4

    Plusieurs pistes sont possibles. Certains diteurs proposent des systmes complets

    (systme dexploitation + Spark) dj configurs que lon peut installer directement

    sur une machine ou une machine virtuelle (ex. Cloudera).

    Mais nous pouvons galement installer le framework sur un systme dexploitation

    prexistant. Cest le choix que nous avons fait dans ce tutoriel. Nous nous appuyons

    sur Windows 7 64 bits (Edition familiale)

    Pour viter les interfrences, nous partons dune machine virtuelle vierge hberge

    par Virtual Box, un outil de virtualisation libre.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/https://www.cloudera.com/products/apache-hadoop/apache-spark.htmlhttps://www.virtualbox.org/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 5

    VirtualBox

    VirtualBox est un outil de virtualisation de systmes

    dexploitation. Il permet lhbergement de plusieurs ordinateurs

    virtuels dans lesquels sinstallent divers systmes

    dexploitation. Plusieurs machines virtuelles peuvent ainsi

    fonctionner concurremment sur la mme machine hte. Cest

    un outil privilgi pour effectuer des tests. Il est possible

    darchiver diffrents tats de la mme machine.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/https://www.virtualbox.org/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 6

    Machine virtuelle Windows 7 sous Virtual Box

    Le systme dexploitation Windows 7 64 bits

    vient dtre install sous VirtualBox. Les mises

    jour automatiques ont t dsactives pour

    viter les modifications intempestives.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 7

    Installation de Java JDK version 8 (64 bits)

    Java a t install la racine, dans le

    dossier Java . 2 sous-rpertoires ont

    t crs pour le JDK et le JRE.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 8

    Lutilitaire WinUtils Plusieurs utilitaires, dont

    winutils, sont ncessaires

    pour pouvoir faire fonctionner

    Hadoop sous Windows.

    La distribution Spark que nous

    allons utiliser est adosse

    Hadoop.

    Nous dsarchivons le fichier

    dans le dossier c:\winutils

    Ci-contre le contenu du sous-

    rpertoire c:\wintils\bin

    Contenu du

    fichier archive.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 9

    Package redistribuable MS Visual C++ 2010 Ce package doit tre install. Il est

    ncessaire au bon fonctionnement de

    winutils .

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 10

    Chargement de la version pour

    Hadoop 2.6.

    Choix de la version de Spark et installation

    Nous dsarchivons simplement

    le fichier dans un rpertoire

    ddi. Ici : c:\spark-1.6.1-bin-

    hadoop2.6

    Voici lorganisation des

    dossiers de notre

    machine ce stade.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 11

    Configuration des variables denvironnement 2 variables denvironnement, SPARK_HOME et

    HADOOP_HOME, doivent tre spcifies pour

    que le systme retrouve les excutables lors

    de la sollicitation du dispositif.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 12

    Configuration de Hadoop via winutils Crer le dossier c:\tmp\hive au pralable.

    Lancer la console en mode administrateur, et

    accorder tous les droits daccs (chmod 777)

    ce dossier via lutilitaire winutils.

    Ce dossier temporaire est ncessaire au bon

    fonctionnement de Hadoop.

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 13

    Lancer Spark

    Via le terminal de commande lanc en mode

    administrateur. Liste des excutables.

    On peut lancer Spark avec spark-shell

    Mais pour lexploiter, il faudrait savoir

    coder en scala , ce qui nest pas mon

    cas (Remarque : exit permet de sortir de

    linterprteur de commandes).

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 14

    Installation de Anaconda qui inclut

    Python et lditeur de code Spyder

    http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/http://tutoriels-data-mining.blogspot.fr/

  • Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 15

    Installation de Python via la distribution Anaconda Voir http://t