Introduction aux algorithmes MapReduce. Mathieu Dumoulin (GRAAL), 14 Février 2014



Documents pareils

Introduction à MapReduce/Hadoop et Spark

Big Data Concepts et mise en oeuvre de Hadoop

Fouillez facilement dans votre système Big Data. Olivier TAVARD

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

HADOOP ET SON ÉCOSYSTÈME

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

Hadoop, les clés du succès

Labs Hadoop Février 2013

Cartographie des solutions BigData

L écosystème Hadoop Nicolas Thiébaud Tuesday, July 2, 13

Anticiper et prédire les sinistres avec une approche Big Data

Panorama des solutions analytiques existantes

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

4 Exemples de problèmes MapReduce incrémentaux

Fouille de données massives avec Hadoop

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Programmation parallèle et distribuée

Les technologies du Big Data

Implémentation parallèle de certains algorithmes de fouille de données avec le framework MapReduce

M2 GL UE DOC «In memory analytics»

Ricco Rakotomalala R.R. Université Lyon 2

Le projet Gaïa, le Big Data au service du traitement de données satellitaires CRIP - 16/10/2013 Pierre-Marie Brunet

Programmation parallèle et distribuée

Certificat Big Data - Master MAthématiques

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase

Les journées SQL Server 2013

R+Hadoop = Rhadoop* Des logiciels libres complémentaires, une implémentation, une réponse au nouveau paradigme du bigdata!

Big Data et Graphes : Quelques pistes de recherche

Programmation parallèle et distribuée (Master 1 Info )

Our experience in using Apache Giraph for computing the diameter of large graphs. Paul Bertot - Flavian Jacquot

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

Offre formation Big Data Analytics

Big Data, un nouveau paradigme et de nouveaux challenges

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Big Data et Graphes : Quelques pistes de recherche

BIG DATA en Sciences et Industries de l Environnement

BIG Data et R: opportunités et perspectives

MapReduce et Hadoop. Alexandre Denis Inria Bordeaux Sud-Ouest France ENSEIRB PG306

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Bases de données documentaires et distribuées Cours NFE04

Cassandra et Spark pour gérer la musique On-line

Maîtriser les technologies Big Data pour obtenir des résultats en quasi-temps réel

Change the game with smart innovation

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Introduction à Hadoop & MapReduce

Notes de cours Practical BigData

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Introduction Big Data

Hadoop : une plate-forme d exécution de programmes Map-Reduce

Application de K-means à la définition du nombre de VM optimal dans un cloud

Le nouveau visage de la Dataviz dans MicroStrategy 10

Les quatre piliers d une solution de gestion des Big Data

11/01/2014. Le Big Data Mining enjeux et approches techniques. Plan. Introduction. Introduction. Quelques exemples d applications

Évaluer la tolérance aux fautes de systèmes MapReduce

VirtualScale L expert infrastructure de l environnement Open source HADOOP Sofiane Ammar sofiane.ammar@virtualscale.fr

Monétisation des données : comment identifier de nouvelles sources de revenus au sein des Big data?

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Hadoop dans l entreprise: du concept à la réalité. Pourquoi et comment?

DEMARRER UN PROJET BIGDATA EN QUELQUES MINUTES GRACE AU CLOUD

Analytics & Big Data. Focus techniques & nouvelles perspectives pour les actuaires. Université d Eté de l Institut des Actuaires Mardi 8 juillet 2014

Tables Rondes Le «Big Data»

Intérêt des codes FEC pour le stockage distribué Le projet ANR FEC4Cloud et la solution RozoFS

BIG DATA et DONNéES SEO

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

Importation et exportation de données dans HDFS

L offre Stockage et serveurs System x / BladeCenter F.Libier, Business Partner Technical Manager

Avant-propos. Organisation du livre

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012

Détection d utilisateurs malveillants dans les réseaux sociaux

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012

Web Science. Master 1 IFI. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.

Document réalisé par Khadidjatou BAMBA

Amazon Elastic MapReduce (Amazon EMR)

Big data et données géospatiales : Enjeux et défis pour la géomatique. Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique

Ne cherchez plus, soyez informés! Robert van Kommer

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Le traitement du Big Data inclue la collecte, la curation, le stockage, l enrichissement, le croisement, la partage, l analyse et la visualisation.

Surmonter les 5 défis opérationnels du Big Data


Hadoop : une plate-forme d exécution de programmes Map-Reduce

Journée Utiliateurs Nouvelles du Pôle ID (Informatique) Pierre Neyron, LIG/CNRS

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Etude d Algorithmes Parallèles de Data Mining

Parallélisation de l algorithme des k-médoïdes. Application au clustering de courbes.

Introduc)on à Map- Reduce. Vincent Leroy

Windows Server Chapitre 1: Découvrir Windows Server 2008

SysFera. Benjamin Depardon

Transcription:

Introduction aux algorithmes MapReduce Mathieu Dumoulin (GRAAL), 14 Février 2014

Plan Introduction de la problématique Tutoriel MapReduce Design d algorithmes MapReduce Tri, somme et calcul de moyenne PageRank en MapReduce Conclusion

«Big Data» Big data is high volume, high velocity, and/or high variety information assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization - Gartner, updated definition of big data (2012) Building new analytic applications based on new types of data, in order to better serve your customers and drive a better competitive advantage - David McJannet, Hortonworks

Un outil spécialisé Problèmes où Hadoop est envisageable: Trop de données (GB,TB,PB) Améliorer des résultats existants Obtenir de nouveaux résultats Combiner des données hétérogènes Croissance rapide (et constante) des données Temps de traitement lent (minutes, heures) Budgets limités Plusieurs ordinateurs déjà disponibles

Hadoop au cœur du big data

MapReduce au cœur de Hadoop Hadoop MapReduce is a software framework for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner. - Hadoop Tutorial, hadoop.apache.org

Gain d utiliser Hadoop? Tout le travail de distribution, balancement de charge, synchronisation et de gestion d erreur est géré automatiquement Il suffit de programmer Map et Reduce (Java, C++, Python, bash, etc.) Une grappe Hadoop peut évoluer facilement en ajoutant des nœuds en tout temps Hadoop offre un rapport performance-prix très compétitif (Amazon EMS, réutilisation de PC existants, aucun coûts de licences ni de matériel spécialisé HPC)

L exemple WordCount On veut trouver les k mots les plus fréquents dans une collection de textes. def word_count(text, k): counts = defaultdict(int) for word in text.split(): counts[word.lower()] += 1 return sorted(counts, key=counts.get, reverse=true)[:k] Mais cette solution est-elle la bonne si le texte est très grand? Et s il est très, très,, très grand?

La taille en soit peut être un problème Taille 100M mots 1000M mots 100MM mots 1000MM mots Problème Pas de problèmes Mémoire insuffisante Processeur insuffisant 1 ordinateur insuffisant Solution Naïve avec 1 seul ordinateur Utiliser le disque, Fenêtre glissante Multithreading, éliminer < N Distribuer le calcul Plus encore! Réseau insuffisant, contrôleur surchargé MapReduce (ou solution du même ordre comme MPI, etc.)

Tutoriel MapReduce Map Reduce

Map et Reduce: la paire Clef-Valeur Mapper: Reducer: Données (HDFS) (K, V) (K, V ) (K, [V, V, ]) (K, V ) Données (HDFS)

MapReduce en action: WordCount illustré

Map et Reduce: Shuffle and Sort Source: Data Intensive Text Processing with MapReduce, Jimmy Lin and Chris Dyer, 2010

Map et Reduce (moins simplifié) Les vrai opérateurs: Mapper Combiner Partitioner Reducer

Design d algorithmes pour MapReduce 1- Il faut reformuler les algorithmes en fonctionnel: 2- La bande passante du réseau est une ressource limitée à optimiser:

Exemples choisis Exemples simples: Tri Somme Moyenne Un exemple complet: PageRank Bonus: K-Means (Lloyd s algorithm)

Trier en MapReduce Propriété du réducteur: les paires sont traitée dans l ordre (selon la clef), les réducteurs sont aussi dans l ordre Mapper: Émettre l élément à trier comme nouvelle clef Reducer: Aucun (i.e. fonction identité)

Calcul d une somme (WordCount)

Amélioration: le combiner

Calcul de moyenne Utiliser un combiner est il approprié? Si on reprend le reducer comme combiner, l algorithme est-il encore correct?

Comment améliorer ce calcul?

Design d une solution MapReduce pour l algorithme PageRank

Qu est-ce que PageRank? Distribution de probabilité sur les pages web qui représente la chance qu un utilisateur naviguant au hasard arrive à une page web particulière. Notes: Le web est un graphe orienté, une page est un nœud et les hyperliens sont des arcs. L algorithme recalcule la probabilité de toutes les pages itérativement jusqu à convergence

Comment calculer PageRank (simplifié) PR p i = p i M(p i ) PR(p j ) L(p j ) p 1,p 2,,p N sont les pages web (les nœuds du graphe) M(p i ) est l ensemble des pages ayant un lien vers p i L(p j ) est le nombre de liens sortant de la page p j N est le nombre total de pages web Note: Pour simplifier, on élimine le facteur d atténuation, paramétrisé par la probabilité que l utilisateur arrête de naviguer. Page, Lawrence and Brin, Sergey and Motwani, Rajeev and Winograd, Terry (1999) The PageRank Citation Ranking: Bringing Order to the Web. Technical Report. Stanford InfoLab.

PageRank par un exemple Le web a trois pages web: A, B et C Initialisation: PR(A) = PR(B) = PR(C) = 0.33 Jusqu à convergence: PR A PR B PR C = PR(B) 2 = PR(A) 2 = PR(A) 2 + PR(B) 2

PageRank en MapReduce Donnés de départ: collection de pages web (URL, [URL lien ]) 1. Bâtir et initialiser le graphe 2. Jusqu à convergence, recalculer PageRank pour chaque page web 3. Retourner les K premières valeurs de PageRank (pas présenté)

Étape 1: Bâtir le graphe Mapper: Entrée: une page web Pour chaque lien de la page, émettre: clef: URL page valeur: URL lien Reducer: Entrée: clef: URL page valeurs: [URL lien, ] Sortie: clef: URL page valeur: «PR;[URL lien ]»

Étape 2: calculer PageRank - Map Mapper: Entrée: clef: URL page valeur: «PR;[URL lien, ]» Sortie: Pour chaque URL lien, émettre: clef: URL lien valeur: «URL page ;PR, nb_url lien» Où: nb_url lien est le compte de URL lien

Étape 2: calculer PageRank - Reduce Reducer: Entrée: clef: URL page valeurs: [«URL inverse ;PR, nb_url page_inverse», ] Traitement: calculer le PR Sortie: clef: URL page valeurs: «PR;[URL lien ]»

PageRank en MapReduce: Résultats Notes: Source: PageRank Calculation using Map Reduce - The Cornell Web Lab (2008) Résultats obtenus sur une grappe Hadoop de 50 nœuds (Intel Xeon 2.66GHz 16GB ram) Mon implémentation: https://bitbucket.org/mathieu_dumoulin/pagerank-mr

MapReduce PageRank: Résultats (8 fois plus de pages que Cornell)

MapReduce PageRank: Résultats

Conclusion (malheureuse) MapReduce est une solution puissante au problème de programmation distribuée La plate-forme fait toute la distribution et la gestion des erreurs Le travail de programmation commence par la formulation d un algorithme MapReduce Ce n est pas toujours facile Trouver et formuler un algorithme performant est relativement difficile Le travail réel de programmation demande une maîtrise (très) avancée de Java

Conclusion

Conclusion On n est pas prisonnier de MapReduce pour utiliser une grappe Hadoop! Apache Pig: optimiser les tâches de ETL Apache Hive: analyser ses données façon SQL Cascading et Apache Crunch: librairies Java qui simplifient les opérations difficiles en MapReduce Apache Mahout: librarie de machine learning qui peut utiliser une grappe Hadoop «automatiquement»

Questions et commentaires Hadoop est de plus en plus une composante d infrastructure «standard» pour le traitement de donnée à grande échelle et est promis à un bel avenir! mathieu.dumoulin@gmail.com 2014-02-14

Partie Bonus MapReduce et Machine Learning Exemple Algorithme K-Means mathieu.dumoulin@gmail.com 2014-02-14

Map et Reduce et le machine learning? Problématique exemple: recherche de paramètres optimaux Yasser Ganjisaffar, Thomas Debeauvais, Sara Javanmardi, Rich Caruana, and Cristina Videira Lopes. 2011. Distributed tuning of machine learning algorithms using MapReduce Clusters. In Proceedings of the Third Workshop on Large Scale Data Mining: Theory and Applications(LDMTA '11). ACM, New York, NY, USA,, Article 2, 8 pages. DOI=10.1145/2002945.2002947 http://doi.acm.org/10.1145/2002945.2002947

Bonus: Algorithme K-means clustering Problème: regrouper des données en K groupes

Algorithme K-means (Lloyd s Algorithm) Initialiser les K centroïdes (d une certaine façon) Pour chacune de plusieurs d itérations: Pour chaque point: Assigner au centroïde le plus proche Selon une mesure de distance (ex: distance Euclidienne) Pour chaque centroïde: Recalculer sa position en faisant la moyenne des membres de son groupe

K-means en MapReduce Driver: lancer les itérations Combien d étapes map-reduce? Une seule!

K-means MapReduce Driver: le main qui lance les tâches (Job) MapReduce et qui itère jusqu à convergence Mapper: Assigner chaque point au cluster le plus proche (en parallèle!) Entrée: Key: Null value: vecteur Sortie: Key: index du centroïde le plus proche, value: vecteur Reducer: Calculer la moyenne des points membre du cluster (en parallèle!) Key: Information partagée: les vecteurs des centroïdes

K-Means et MapReduce: État de l art Bahman Bahmani, Benjamin Moseley, Andrea Vattani, Ravi Kumar, and Sergei Vassilvitskii. 2012. Scalable k- means++. Proc. VLDB Endow. 5, 7 (March 2012), 622-633. http://theory.stanford.edu/~sergei/papers/vldb12-kmpar.pdf Implémenté dans la librairie Apache Mahout