Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Spark une alternative à Hadoop MapReduce pour le Datamining

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 12 Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (20)

Publicité

Similaire à Spark une alternative à Hadoop MapReduce pour le Datamining (20)

Plus par HUG France (20)

Publicité

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’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HUG France SL2013 – Mai 2013 Introduction à Spark Alternative à Hadoop MapReduce pour le Data Mining Tugdual Sarazin Altic - http://altic.org Tugdual.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 Hadoop Apprentissage (très) long à cause des nombreux accès à l'HDFS Iter. 1 Lecture HDFS Écriture HDFS Iter. 2 Lecture HDFS Écriture HDFS . . .
  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 Hadoop Une seule lecture des données puis traitement en mémoire Iter. 1 Lecture HDFS Écriture RAM Iter. 2 Lecture RAM Écriture RAM . . .
  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 Spark Objectif : travailler sur des collections distribuées comme vous le feriez en local ● Resilient Distributed Datasets (RDDs) ● Collection d'objets 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 concise file = 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 n'y a pas assez de mémoire? Stockage sur le système de fichiers locale si il n'y a pas assez 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 de données Moteur SQL Graph processing Traitement flux
  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 traitement val 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’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HUG France SL2013 – Mai 2013 Introduction à Spark Merci ! Tugdual Sarazin Altic - http://altic.org Tugdual.sarazin@altic.org @TugdualSarazin

×