【MapReduce】报错: java.io.FileNotFoundException: “ 路径 “ (拒绝访问。)
原创
©著作权归作者所有:来自51CTO博客作者阿呆小记的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
场景
- 今天在编写MapReduce程序,最后运行的时候,突然报错了:
java.lang.Exception: java.io.FileNotFoundException: G:\Projects\IdeaProject-C\MapReduce\src\main\java\第七章_MR扩展案例\data (拒绝访问。)
,检查了好几遍,路径都没有问题。
返回顶部
问题描述
就是在这个Driver类中,设置输入输出文件路径
// 1.获取job对象
job = Job.getInstance(conf);
// 2.类的关联
job.setMapperClass(OneIndexMapper.class);
job.setReducerClass(OneIndexReducer.class);
job.setJarByClass(OneIndexDriver.class);
// 3.定义M、R阶段输出数据类型
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
// 4.指定输入输出路径
FileInputFormat.setInputPaths(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例"));
FileOutputFormat.setOutputPath(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\outpu1t"));
// 5.提交job
job.waitForCompletion(true);
返回顶部
原因分析
然后仔细看了看路径,发现在第七章包下有两部分,多job串联
和 数据文件
,估计是G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例
认定了是目录,无法判断读取时选取那个文件进行读取。
返回顶部
解决方案
- 在主目录下创建与多job串联同级目录,单独存放数据文件,
直接读取data目录
。
// 4.指定输入输出路径
FileInputFormat.setInputPaths(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\data"));
FileOutputFormat.setOutputPath(job,new Path("G:\\Projects\\IdeaProject-C\\MapReduce\\src\\main\\java\\第七章_MR扩展案例\\output"));
- 最终也是成功运行了
返回顶部