我正在使用Hadoop处理Google图书ngrams,这些ngrams在Hadoop序列文件中存储在Amazon S3中。无法从Hadoop访问公共S3存储桶
Hadoop包含从S3(使用S3存储桶作为虚拟“文件系统”)读取数据的功能,只需在文件名上指定s3://或s3n://协议即可。
不幸的是,它要求您设置AWS访问和密钥。由于我想读取的桶是公开的,我没有任何使用密钥。如果我使用我自己的密钥,我无法读取ngrams存储桶(因为它不属于我的帐户)。
如何从Hadoop使用存储在公共S3存储桶中的文件,而无需自己重新托管文件(这将会非常昂贵,因为有几TB数据)?
你有没有想过这个呢? –
@AlexDean,我最终放弃了,并写了我自己的RecordReader,通过HTTP淹没在文件中。我从来没有让默认阅读器与S3一起工作。 – levand
啊,惭愧,谢谢你让我知道@levand。我发现即使S3DistCp也有这个限制,这看起来真的很愚蠢。 –