は、だから、私のMapReduceプログラムへの入力として2つのファイルを必要とする:City.datと私のメインの方法イムでCountry.datHadoopのMapReduceの複数の入力ファイル
は次のようにコマンドライン引数を解析:
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);
私は今、次のコマンドを使用して、私のプログラムの開発を実行している場合:
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
なぜこれを自分の出力ディレクトリとして扱いますか?出力ディレクトリとして別のディレクトリを指定しました。誰かがこれを説明できますか?
質問の見出しを変更してください。最初に質問を通過した人が混乱することがあります。 –