Amazon EMR:java.io.IOException:文件已存在:s3n://<;bucketname>/输出/部件-r-00002

Amazon EMR:java.io.IOException:文件已存在:s3n://<;bucketname>/输出/部件-r-00002,java,amazon-web-services,amazon-s3,emr,Java,Amazon Web Services,Amazon S3,Emr,我正在运行MapReduce作业。我的代码只包含一个进行简单计算的类。它在hadoop1.0.3的单节点设置上成功运行 当我在EMR上运行它时,我得到以下错误 java.io.IOException: File already exists: s3n://<bucketname>/output/part-r-00002 at org.apache.hadoop.fs.s3native.NativeS3FileSystem.create(NativeS3FileSystem.java:

我正在运行MapReduce作业。我的代码只包含一个进行简单计算的类。它在hadoop1.0.3的单节点设置上成功运行 当我在EMR上运行它时,我得到以下错误

java.io.IOException: File already exists: s3n://<bucketname>/output/part-r-00002
at org.apache.hadoop.fs.s3native.NativeS3FileSystem.create(NativeS3FileSystem.java:647)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:557)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:538)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:445)
at org.apache.hadoop.mapreduce.lib.output.TextOutputFormat.getRecordWriter(TextOutputFormat.java:128)
at org.apache.hadoop.mapred.ReduceTask$NewTrackingRecordWriter.<init>(ReduceTask.java:583)
at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:652)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:426)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
java.io.IOException:文件已存在:s3n:///output/part-r-00002
位于org.apache.hadoop.fs.s3native.NativeS3FileSystem.create(NativeS3FileSystem.java:647)
位于org.apache.hadoop.fs.FileSystem.create(FileSystem.java:557)
位于org.apache.hadoop.fs.FileSystem.create(FileSystem.java:538)
位于org.apache.hadoop.fs.FileSystem.create(FileSystem.java:445)
位于org.apache.hadoop.mapreduce.lib.output.TextOutputFormat.getRecordWriter(TextOutputFormat.java:128)
位于org.apache.hadoop.mapred.ReduceTask$NewTrackingRecordWriter。(ReduceTask.java:583)
位于org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:652)
位于org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:426)
位于org.apache.hadoop.mapred.Child$4.run(Child.java:255)
位于java.security.AccessController.doPrivileged(本机方法)
位于javax.security.auth.Subject.doAs(Subject.java:396)
位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
位于org.apache.hadoop.mapred.Child.main(Child.java:249)

您需要将作业配置为每次运行时将结果写入不同的输出目录


它现在抱怨是因为此位置已经存在一个文件,很可能是因为您多次运行此作业。

您如何从Java API配置它?