spark une alternative à hadoop mapreduce pour le datamining

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 Alternative à Hadoop MapReduce pour le Data Mining Tugdual Sarazin Altic - http://altic.org [email protected] @TugdualSarazin

Upload: hadoop-user-group-france

Post on 25-Dec-2014

1.227 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Spark une alternative à Hadoop MapReduce pour le Datamining

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 SarazinAltic - http://[email protected]@TugdualSarazin

Page 2: Spark une alternative à Hadoop MapReduce pour le Datamining

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

LectureHDFS

ÉcritureHDFS

Iter. 2

LectureHDFS

ÉcritureHDFS

. . .

Page 3: Spark une alternative à Hadoop MapReduce pour le Datamining

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

LectureHDFS

ÉcritureRAM

Iter. 2

LectureRAM

ÉcritureRAM

. . .

Page 4: Spark une alternative à Hadoop MapReduce pour le Datamining

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)

Page 5: Spark une alternative à Hadoop MapReduce pour le Datamining

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(_ + _)

Page 6: Spark une alternative à Hadoop MapReduce pour le Datamining

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.

Page 7: Spark une alternative à Hadoop MapReduce pour le Datamining

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

Page 8: Spark une alternative à Hadoop MapReduce pour le Datamining

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 SQLGraph

processingTraitement

flux

Page 9: Spark une alternative à Hadoop MapReduce pour le Datamining

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

Page 10: Spark une alternative à Hadoop MapReduce pour le Datamining

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)

Page 11: Spark une alternative à Hadoop MapReduce pour le Datamining

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

Page 12: Spark une alternative à Hadoop MapReduce pour le Datamining

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 SarazinAltic - http://[email protected]@TugdualSarazin