所以我需要两个文件作为输入我的MapReduce程序:City.dat和Country.dat的Hadoop MapReduce的多个输入文件
在我的主要方法IM解析这样的命令行参数:
Path cityInputPath = new Path(args[0]);
Path countryInputPath = new Path(args[1]);
Path outputPath = new Path(args[2]);
MultipleInputs.addInputPath(job, countryInputPath, TextInputFormat.class, JoinCountryMapper.class);
MultipleInputs.addInputPath(job, cityInputPath, TextInputFormat.class, JoinCityMapper.class);
FileOutputFormat.setOutputPath(job, outputPath);
如果我现在运行我PROGRAMM用下面的命令:
hadoop jar capital.jar org.myorg.Capital /user/cloudera/capital/input/City.dat /user/cloudera/capital/input/Country.dat /user/cloudera/capital/output
我得到以下错误:
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory /user/cloudera/capital/input/Country.dat already exists
为什么它将此视为我的输出目录?我指定另一个目录作为输出目录。有人可以解释这一点吗?
您可以改变问题标题,因为它会让第一次遇到问题的人感到困惑。 –