访问s3n:// elasticmapreduce / samples / wordcount / input中的文件

时间:2012-06-07 01:47:23

标签: amazon-s3 amazon-web-services

如何访问位于S3的以下文件夹中的文件,该文件由其他人拥有

S3N:// elasticmapreduce /样品/单词计数/输入

4 个答案:

答案 0 :(得分:4)

s3n:// elasticmapreduce / samples / wordcount / input中的文件是公共的,并且可以作为亚马逊的输入提供给示例字数Hadoop程序。获取它们的最佳方法是

  1. 从Amazon Web Services控制台启动新的Amazon Elastic MapReduce作业流程(无关紧要),并确保使用Keep Alive选项保持作业活动
  2. EC2计算机启动后,从Amazon Web Services控制台上查找EC2上的实例
  3. 例如,使用hadoop用户
  4. ssh进入其中一个正在运行的EC2实例 ssh -i keypair.pem hadoop@ec2-IPADDRESS.compute-1.amazonaws.com
  5. 使用hadoop dfs -copyToLocal s3://elasticmapreduce/samples/wordcount/input/0002 .
  6. 获取所需文件
  7. 将文件sftp到本地系统

答案 1 :(得分:3)

文件夹的所有者(很可能是文件夹中的文件)必须使匿名读者可以访问该文件夹。 如果是这种情况,则将s3n:// x / y ...翻译为 http://s3.amazonaws.com/x/y ... 要么 http://x.s3.amazonaws.com/y ...

x是存储桶的名称。 y ...是斗的路径。

如果您想确保该文件存在,例如如果您怀疑名称拼写错误,可以在浏览器中打开 http://s3.amazonaws.com/x 并且您将看到描述“文件”的XML,这些文件是S3对象,可用。 试试这个: http://s3.amazonaws.com/elasticmapreduce

我试过这个,似乎你想要的路径不公开。 AWS EBS文档在其中一个“入门”示例中引用了s3:// elasticmapreduce / samples / wordcount / input。但是s3与s3n不同,因此EMR可以使用输入,但不能访问HTTP。

答案 2 :(得分:3)

您可以在此处访问wordSplitter.py:

https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/wordSplitter.py

您可以在此处访问输入文件:

https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0012
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0011
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0010
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0009
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0008
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0007
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0006
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0005
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0004
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0003
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0002
https://elasticmapreduce.s3.amazonaws.com/samples/wordcount/input/0001

答案 3 :(得分:2)

在Amazon S3中,没有文件夹的概念,它只是一个平面的对象集合。但您可以使用以下URL列出您对浏览器感兴趣的所有文件: s3.amazonaws.com/elasticmapreduce?prefix=samples/wordcount/input/

然后您可以通过指定整个名称来下载它们,例如 s3.amazonaws.com/elasticmapreduce/samples/wordcount/input/0001