Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecrire programme Hadoop en utilisant Mapreduce

Ecrire programme Hadoop avec le framework Mapreduce

    21 juillet 2016 à 1:32:28

    Bonjour,

    Pouvez-vous m'expliquer comment créer un programme/job Hadoop en utilisant le framework Mapreduce?

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      21 juillet 2016 à 9:20:34

      Un programme Hadoop se divise généralement en trois parties :

      • Le driver, qui s’exécute sur une machine client, est chargé de configurer le job puis de le soumettre pour exécution.
      • Le mapper est chargé de lire les données stockées sur disque et les traiter.
      • Le reducer est chargé de consolider les résultats issus du mapper puis de les écrire sur disque.

      Lire ce post qui explique en detail un exemple de programme Hadoop en utilisant mapreduce : Développement de programmes MapReduce en Java.

      les principes de fonctionnement de MapReduce restent valables quel que soit le langage de programmation utilisé.

      • Partager sur Facebook
      • Partager sur Twitter
      Développeur et analyste de données confirmé.
        21 juillet 2016 à 9:22:09

        Tu fais 2 classes, une pour mapper, une pour reduce.

        public static class MonMapper extends MapReduceBase implements Mapper<K1, V1, K2, V2> {
        //k1 = type de l'input
        //v1 = valeur de l'input
        //k2 = type de l'output
        //v2 = valeur de l'output
        
          public void map(K1 key, V1 value, OutputCollector<K2, V2> output, Reporter reporter){
              //traitement MAP
          }
        }
        public static class MonReducer extends MapReduceBase implements Reducer< K2, V2, K3, V3 > {  
           
              public void reduce( K2 key, Iterator <V2> values, 
                 OutputCollector<K3, V3> output, Reporter reporter) throws IOException  { 
                   //traitement reduce
         
                 } 
         }  

        Pour exécuter, y a juste à faire un job :

        JobConf conf = new JobConf(ProcessUnits.class); 
        conf.setJobName("XX"); 
        conf.setOutputKeyClass(K3);
        conf.setOutputValueClass(V3); 
        conf.setMapperClass(MonMapper.class); 
        conf.setReducerClass(MonReducer.class); 
        conf.setInputFormat(TextInputFormat.class); 
        conf.setOutputFormat(TextOutputFormat.class); 
        FileInputFormat.setInputPaths(conf, "c://cheminInput"); 
        FileOutputFormat.setOutputPath(conf, "c://cheminOutput")); 
              
        JobClient.runJob(conf); 






        • Partager sur Facebook
        • Partager sur Twitter
          23 juillet 2016 à 1:03:02

          Merci à vous deux @devosJava @dorz.

          Est ce que vous savez un cours beacoup plus avancé sur Hadoop et Mapreduce?

          Merci.

          • Partager sur Facebook
          • Partager sur Twitter
            29 octobre 2017 à 15:34:59

            salut  j ai  besoin d un  programme map reduce hadoop pour les anagrammes 

            merci 

            • Partager sur Facebook
            • Partager sur Twitter

            Ecrire programme Hadoop en utilisant Mapreduce

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown