Spark une alternative à Hadoop MapReduce pour le Datamining

  • 1,231 views
Uploaded on

A l'occoasion de Solutions Linux, une introduction à Spark

A l'occoasion de Solutions Linux, une introduction à Spark

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,231
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
55
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/HUG France SL2013 – Mai 2013Introduction à SparkAlternative à Hadoop MapReducepour le Data MiningTugdual SarazinAltic - http://altic.orgTugdual.sarazin@altic.org@TugdualSarazin
  • 2. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Data Mining avec HadoopApprentissage (très) long à cause des nombreux accès à lHDFSIter. 1LectureHDFSÉcritureHDFSIter. 2LectureHDFSÉcritureHDFS. . .
  • 3. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Data Mining avec HadoopUne seule lecture des données puis traitement en mémoireIter. 1LectureHDFSÉcritureRAMIter. 2LectureRAMÉcritureRAM. . .
  • 4. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Les concepts de SparkObjectif : travailler sur des collections distribuéescomme vous le feriez en local● Resilient Distributed Datasets (RDDs)● Collection dobjets immuables et partitionnés● Stockage en colonne● Persistance contrôlable (mise en cache en RAM)● MapReduce like● Transformations (ex: map, filter, groupBy, join)● Actions (ex: count, collect, save)
  • 5. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Développé en Scala● Bytecode Java (exécutable sur la JVM)● Mode interactif : console Scala● Syntaxe concisefile = spark.textFile("hdfs://...")file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
  • 6. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Et si il ny a pas assez de mémoire?Stockage sur le système de fichiers locale si il ny a pasassez de RAM disponible.
  • 7. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Fault Tolerance● Reprise
  • 8. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Les Tables HBase comme structure dedonnéesMoteur SQLGraphprocessingTraitementflux
  • 9. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Shark : Hive pour Spark● HiveQL ~= SQL● Compatible avec Hive data (HDFS, HBase) et metastore● 100x plus rapide que Hive
  • 10. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Shark + Spark = PL/SQL 2.0● Le meilleur de chaque langage :● SQL pour la sélection● Scala pour le traitementval youngUsers = sql2rdd("SELECT * FROM users WHERE age < 20")println(youngUsers.count)val featureMatrix = youngUsers.mapRows(extractFeatures(_))kmeans(featureMatrix)
  • 11. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale -Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/MLBase (dev)● Système de machine learning basé sur Spark● Sélection automatique du meilleur algorithme● Optimisation des paramètres● Utilisation interactive
  • 12. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/HUG France SL2013 – Mai 2013Introduction à SparkMerci !Tugdual SarazinAltic - http://altic.orgTugdual.sarazin@altic.org@TugdualSarazin