Vì vậy, tôi cần hai tập tin như một đầu vào cho chương trình MapReduce của tôi: City.dat và Country.datHadoop MapReduce file nhiều Input
Trong phương pháp im chính của tôi phân tích các đối số dòng lệnh như thế này:
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);
Nếu bây giờ tôi đang chạy programm của tôi với lệnh sau:
hadoop jar capital.jar org.myorg.Capital /user/cloudera/capital/input/City.dat /user/cloudera/capital/input/Country.dat /user/cloudera/capital/output
tôi nhận được lỗi sau:
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory /user/cloudera/capital/input/Country.dat already exists
Tại sao nó coi đây là thư mục đầu ra của tôi? Tôi đã chỉ định một thư mục khác làm thư mục đầu ra. Ai đó có thể giải thích điều này?
Bạn có thể thay đổi dòng tiêu đề câu hỏi vì nó gây nhầm lẫn cho bất kỳ ai đang trải qua câu hỏi này lần đầu tiên. –