IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java EE Discussion :

Comprendre le fonctionnement de MapReduce


Sujet :

Java EE

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 11
    Par défaut Comprendre le fonctionnement de MapReduce
    Bonjour à tous,


    je fais appelle a vous car je suis en train d'apprendre et essayer de comprendre le fonctionnement de MapReduce. Et malheureusement je constate que j'ai du mal à comprendre la maniere dont celui-ci fonctionne.

    Voici la definition de mapreduce qui ressort de pas mal d'articles :

    MapReduce : Framework qui permet d’écrire des applications pour faire des traitements big data sur un cluster hadoop. MapReduce permet de manipuler de grandes quantités de données en les distribuant dans un cluster de machines( à des nœuds du cluster) pour pouvoir être traitées en parallèle.

    Deja il y a quelque chose qui me gene avec cette definition. En effet, etant donnée que MapReduce est sur un Systeme de fichiers distribué les données sont deja decoupées (en effet on a un datafile qui est decoupé en block pour etre reparties sur les differentes machines d'un cluster (HDFS par exemple). Donc comment est ce que mapreduce peut decouper et distribuer ce qui a deja été decoupé et distribuer.

    Ensuite je comprend que le MapReduce est composé d'un jobtracker et de plusieurs tasktracker. Le problème et que en lisant les articles ils en ressort plusieurs definition.

    Exemple avec le jobtracker :
    - definition 1 : le jobtracker est un composante du mapreduce qui decoupe des données et les envoient aux tasktrackers aux differents esclave d'un cluster.
    -definition 2 :c’est un rôle hadoop qui se situe sur le namenode et qui est charger de lancer des tâches (à comprendre "operations de traitement") distribuées en coordonnant les esclaves. Il envoi ces taches aux tasktrackers qui travaillent en parallèle.

    Qu'elle est la bonne definition ? la 1 ou la 2 ? le jobtracker fait quoi il découpe des données ou il découpe des tâches ? ou alors il fait les 2 ???

    Meme en lisant la doc officielle j'ai du mal a comprendre comment MapReduce fonctionne parce qu'au debut de la doc on dit qu'il découpe des données et un peu plus bas on parle de tâches et je me perd totalement dans la compréhension de MapReduce.

    Je sollicite donc votre aide pour m'aider a comprendre son fonctionnement. J'espere avoir été clair dans mes explications.


    Merci à vous.

  2. #2
    Membre émérite
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Par défaut
    Pour vulgariser à l’extrême,

    le MapReduce consiste à
    - Découper une requête en multiples sous-requêtes (le Map de MapReduce). Chacune des sous-requêtes pouvant être traités par différents serveur d'une ferme (style hadoop)
    - Récupère les multiples résultats des sous-requêtes et les réduire en un résultat global (le Reduce du MapReduce).

    Exemple:
    Admettons que ton algorithme doivent compter le nombre de lettre "a" dans une série de fichiers.
    La découpe pourrait être de générer n sous-requêtes correspondant chacune à 1 fichier.
    La réduction consisterait simplement a additionner les résultats de chacune des sous-requêtes.

    C'est un exemple un peu bidon, mais c’était pour illustrer.

    Ensuite HDFS utilise le MapReduce mais il ne s'agit que d'un Filesystem. Je dois bien avouer que haddoop de ce coté là reste un peu un mystère pour moi.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Consultant BigData
    Inscrit en
    Juillet 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant BigData

    Informations forums :
    Inscription : Juillet 2009
    Messages : 129
    Par défaut
    Pour donner quelques précisions en plus, HDFS n'utilise pas MapReduce. HDFS et MapReduce sont des concepts différents qui peuvent très bien fonctionner l'un sans l'autre. En effet on les voit souvent ensemble comme dans Hadoop, mais ce n'est pas obligatoire.

    HDFS est un système de fichier distribué.
    MapReduce est un framework permettant l'exécution d'un calcul distribué.

    Ensuite, le JobTracker et le TaskTracker sont des démons de MapRecude V1.
    - JobTracker est le démon maître. C'est à lui que l'on soumet un job, c'est lui qui s'occupera d'appeler les TaskTracker pour découper son calcul. Il n'est pas nécessairement situé sur un noeud comportant un NameNode du simple fait que MapReduce ne s'exécute pas obligatoirement sur HDFS.
    - TaskTracker est le démon esclave. C'est lui qui exécute une tâche de Map OU une tâche de Reduce.

    Pour ce qui est d'HDFS, il y a aussi 2 démons : le NameNode qui contient les méta-données des fichiers (quel fichier est découpé en quels blocks qui sont situés sur quels DataNodes) alors que le DataNode stocke des blocks de données (un block contenant tout ou partie d'un fichier).

Discussions similaires

  1. [Joomla!] Comprendre comment fonctionne le code de joomla
    Par itmak dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 24/02/2009, 18h23
  2. Comprendre le fonctionnement d'un code
    Par developppez dans le forum Général Java
    Réponses: 2
    Dernier message: 16/05/2008, 16h58
  3. Comprendre le fonctionnement des objets de SynEdit
    Par SoftAbdou dans le forum Composants VCL
    Réponses: 5
    Dernier message: 04/05/2008, 23h49
  4. Réponses: 3
    Dernier message: 25/03/2008, 09h46
  5. Réponses: 4
    Dernier message: 11/11/2007, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo