【发布时间】:2012-06-22 21:47:28
【问题描述】:
我正在使用 Hadoop 处理 Google Books ngram,这些 ngram 在 Amazon S3 中存储为 Hadoop 序列文件。
Hadoop 包括从 S3 读取的功能(使用 S3 存储桶作为虚拟“文件系统”),只需在文件名上指定 s3:// 或 s3n:// 协议即可。
很遗憾,它要求您设置 AWS 访问密钥和密钥。由于我想读取的存储桶是公开的,因此我没有任何密钥可供使用。如果我使用自己的密钥,则无法从 ngrams 存储桶中读取数据(因为它不属于我的帐户)。
如何使用存储在 Hadoop 的公共 S3 存储桶中的文件,而无需自己重新托管该文件(这会变得非常昂贵,因为有几 TB 的数据)?
【问题讨论】:
-
你有没有想过这个?
-
@AlexDean,我最终放弃并编写了自己的 RecordReader,它通过 HTTP 吞入文件中。我从来没有让默认阅读器与 S3 一起工作。
-
啊,不好意思,谢谢你让我知道@levand。我发现即使是 S3DistCp 也有这个限制,这看起来很愚蠢。