Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommercial...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommercial...
Upcoming SlideShare
Loading in...5
×

Spark une alternative à Hadoop MapReduce pour le Datamining

2,149

Published on

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

Spark une alternative à Hadoop MapReduce pour le Datamining

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×