我正在嘗試讀取包含一些數據的Excel文件,以便在hadoop中進行聚合。映射簡化程序似乎工作正常,但輸出產生的格式不可讀。要使用Excel文件的任何特殊InputFormat讀者在Hadoop中的Map Reduce?。我的配置如下圖讀取hadoop映射中的excel文件reduce
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;
輸出端產生看起來是這樣的 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 )〜 ʅ ژ :# j3] u >
出於興趣,你怎麼甚至試圖解釋在你的映射器輸入數據? – jkovacs 2013-04-07 22:47:34
在映射器中,列之間的分隔符是一個選項卡,我使用列位置解釋選定的一組字段,並且按行將整個數據行讀取爲字符串 – 2013-04-08 00:17:46