J'essaie de lire un fichier Excel contenant des données pour l'agrégation dans hadoop.Le programme de réduction de la carte semble fonctionner correctement, mais le produit de sortie est dans un format non lisible. Dois-je besoin d'utiliser un lecteur de inputFormat spécial pour le fichier Excel dans Hadoop la carte Réduire? configuration .Mon est comme ci-dessousLecture d'un fichier Excel dans la carte hadoop réduire
Configuration conf=getConf();
Job job=new Job(conf,"LatestWordCount");
job.setJarByClass(FlightDetailsCount.class);
Path input=new Path(args[0]);
Path output=new Path(args[1]);
FileInputFormat.setInputPaths(job, input);
FileOutputFormat.setOutputPath(job, output);
job.setMapperClass(MapClass.class);
job.setReducerClass(ReduceClass.class);
//job.setCombinerClass(ReduceClass.class);
job.setInputFormatClass(TextInputFormat.class);
job.setOutputFormatClass(TextOutputFormat.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
//job.setOutputKeyClass(Text.class);
//job.setOutputValueClass(Text.class);
System.exit(job.waitForCompletion(true)?0:1);
return 0;
Le produit de sortie ressemble à ceci KW OA] nΕ r3 \ n " p 饚 6W jJ 9W f = 9ml dR y/Ք 7^ i M * Ք^nz l ^) 妗 j ( dRͱ/7 TS * M // 7 TS & jZ o TSR 7 @ ) o TӺ 5 {% + ۆ w6- = e _} m) ~ ʅ ژ : # j ] u >
Sur intérêt, comment êtes-vous même essayer d'interpréter les données d'entrée dans votre Mapper? – jkovacs
Dans le mappeur, le séparateur entre les colonnes est un onglet et j'interprète l'ensemble de champs sélectionné en utilisant la position de la colonne et la ligne de données entière par ligne est lue comme une chaîne –