如何访问位于S3的以下文件夹中的文件,该文件由其他人拥有
S3N:// elasticmapreduce /样品/单词计数/输入
答案 0 :(得分:4)
s3n:// elasticmapreduce / samples / wordcount / input中的文件是公共的,并且可以作为亚马逊的输入提供给示例字数Hadoop程序。获取它们的最佳方法是
ssh -i keypair.pem hadoop@ec2-IPADDRESS.compute-1.amazonaws.com
hadoop dfs -copyToLocal s3://elasticmapreduce/samples/wordcount/input/0002 .
答案 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