La classe Hadoop JobConf est obsolète, nécessite un exemple mis à jour
Je suis en train d'écrire hadoop programmes , et je n'ai vraiment pas envie de jouer avec obsolètes classes .
N'importe où en ligne, je ne suis pas en mesure de trouver des programmes avec des mises à jour
org.apache.hadoop.conf.Configuration
classe
insted de
org.apache.hadoop.mapred.JobConf
classe.
public static void main(String[] args) throws Exception {
JobConf conf = new JobConf(Test.class);
conf.setJobName("TESST");
conf.setOutputKeyClass(Text.class);
conf.setOutputValueClass(IntWritable.class);
conf.setMapperClass(Map.class);
conf.setCombinerClass(Reduce.class);
conf.setReducerClass(Reduce.class);
conf.setInputFormat(TextInputFormat.class);
conf.setOutputFormat(TextOutputFormat.class);
FileInputFormat.setInputPaths(conf, new Path(args[0]));
FileOutputFormat.setOutputPath(conf, new Path(args[1]));
JobClient.runJob(conf);
}
C'est ainsi que ma main() ressemble.
Pouvez s'il vous plaît quelqu'un me fournira des mises à jour de la fonction.
source d'informationauteur CodeBanger
Vous devez vous connecter pour publier un commentaire.
Ici, c'est le classique WordCount exemple. Vous remarquerez une tonalité d'autres importations qui peut ne pas être nécessaire, en lisant le code que vous allez comprendre qui est qui.
Ce qui est différent? Je suis à l'aide de l'interface de l'Outil et de la GenericOptionParser pour analyser le travail de commande.k.un : hadoop pot ....
Dans le mappeur vous remarquerez une course chose. Vous pouvez se débarrasser de que, il est généralement appelé par défaut lorsque vous fournissez le code de la méthode Map. Je l'ai mis là pour vous donner l'info que vous pouvez mieux contrôler la cartographie de la scène. C'est tout en utilisant la nouvelle API. J'espère que vous le trouverez utile. Toutes les autres questions, laissez-moi savoir!
Également prendre classique WordCount à titre d'exemple:
org.apache.hadoop.mapred.JobConf
est vieux, dans la nouvelle version, nous utilisonsConfiguration
etJob
à atteindre.Veuillez utiliser
org.apache.hadoop.mapreduce.lib.*
(c'est la nouvelle API) au lieu deorg.apache.hadoop.mapred.TextInputFormat
(il est vieux).La
Mapper
etReducer
sont rien de nouveau, veuillez consultermain
fonction, il comprend relativement globale des configurations, n'hésitez pas à les modifier selon vos besoins spécifiques.