文章目录 场景 问题描述 原因分析 解决方案 场景 今天在编写MapReduce程序,最后运行的时候,突然报错了:java.lang.Exception: java.io.FileNotFoundExce
文章目录
- 场景
- 问题描述
- 原因分析
- 解决方案
场景
- 今天在编写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目录。
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"));
- 最终也是成功运行了
返回顶部