java - Amazon EMR : java. io.IOException:文件已存在:s3n://<bucketname>/output/part-r-00002

标签 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: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 EMR : java. io.IOException:文件已存在:s3n://<bucketname>/output/part-r-00002,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16369794/

相关文章:

AWS 重定向上托管的 Angular 应用程序在 S3 之前的云前端导致访问被拒绝

hadoop - Amazon Elastic Map减少Hadoop作业

python - 使用 AWS S3 s3fs/boto3 读取 h5 文件

java - Hibernate/Spring HibernateTemplate.findByCriteria(Deatched Criteria dc) 在 View 上执行sql更新

node.js - (问)我们如何使用 AWS api gateway 调试本地 websocket

java - Lucene 的 AND/OR 问题

amazon-web-services - 使用带有 ssl 证书的 aws 设置 elb

amazon-web-services - 是否可以限制 IAM 角色从 EMR (zeppelin) 对 S3 数据的访问?

java - 如何在不符合 RegEx 格式的输入文本上更改 JFormattedTextField 的前景色/文本颜色?

java - 简单 XML : ValueRequiredException