我在服务器上有一个hadoop环境,现在我在本地pc上开发,我在eclipse中编写了一个mapreduce类(只覆盖mapper类),并且在main方法中设置了相应的配置,现在我想在eclipse中运行我的程序,但是在“debug as:junit test”中遇到了一个问题,错误信息如下:java.lang.exception:方法main不应该有参数。。。。。。
66bbxpm51#
要在windows机器上运行eclipse中的map reduce,需要下载hadoop-7682java文件。在conf文件中引用这个文件,如下所示。config.set(“fs.file.impl”,“com.assignment.winlocalfilesystem”);这里winlocalfilesystem是java类。附上一个样本代码供您参考。
Configuration config = new Configuration(); config.set("mapreduce.input.keyvaluelinerecordreader.key.value.separator", " "); config.set("mapred.textoutputformat.separator", " --> "); config.set("fs.file.impl", "com.assignment.WinLocalFileSystem"); String inputPath="In\\VISA_Details.csv"; Path inPath=new Path(inputPath); String outputPath = "C:\\Users\\Desktop\\Hadoop Learning\\output\\run1"; Path outPath=new Path(outputPath); Job job = new Job(config,"VISA: Total count on each day"); job.setInputFormatClass(TextInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(Text.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(Text.class); job.setMapperClass(VisaMapper.class); job.setReducerClass(VisaReducer.class); FileInputFormat.setInputPaths(job, inPath ); FileOutputFormat.setOutputPath(job, outPath); System.out.println(job.waitForCompletion(true));
1条答案
按热度按时间66bbxpm51#
要在windows机器上运行eclipse中的map reduce,需要下载hadoop-7682java文件。在conf文件中引用这个文件,如下所示。
config.set(“fs.file.impl”,“com.assignment.winlocalfilesystem”);
这里winlocalfilesystem是java类。
附上一个样本代码供您参考。