让Amazon EMR使用S3进行输入和输出

时间:2012-09-03 14:20:36

标签: hadoop amazon-web-services amazon emr mapr

如何让Amazon EMR(0.20.205 MapR)使用S3存储桶进行输入和输出?

我尝试将以下内容添加到核心配置xml文件中(通过引导操作):

<property>
        <name>fs.default.name</name>
        <value>s3n://</value>
</property>

<property>
        <name>dfs.name.default</name>
        <value>s3n://</value>
</property>

但我总是得到类似的东西:

  

引起:java.io.IOException:无法解析路径:   s3n:// some_out_bucket / out at   com.mapr.fs.MapRFileSystem.lookupClient(MapRFileSystem.java:219)at at   com.mapr.fs.MapRFileSystem.delete(MapRFileSystem.java:385)at at   cc.mrlda.ParseCorpus.run(ParseCorpus.java:192)at   org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)at   cc.mrlda.ParseCorpus.main(ParseCorpus.java:675)... 10更多

Hadoop新手在这里。请帮忙!

1 个答案:

答案 0 :(得分:2)

除了上面问题中描述的配置步骤,我修改了代码:

FileSystem fs = FileSystem.get(URI.create(outputPath), new JobConf(SomeClass.class));其中outputPath指向S3上的资源,例如s3n://some_bucket

使用URI.create,我现在可以直接从S3访问文件。