【问题标题】:Amazon EMR : java.io.IOException: File already exists: s3n://<bucketname>/output/part-r-00002Amazon EMR:java.io.IOException:文件已存在:s3n://<bucketname>/output/part-r-00002
【发布时间】:2013-04-28 11:59:17
【问题描述】:

我正在运行 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 amazon-web-services amazon-s3 emr


    【解决方案1】:

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

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

    【讨论】:

    • 你如何从 Java API 配置它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 2015-11-04
    • 2012-05-26
    • 2016-08-05
    相关资源
    最近更新 更多