4

我正在使用 Hadoop 来处理 Google Books ngram,它们作为 Hadoop 序列文件存储在 Amazon S3 中。

Hadoop 包括从 S3 读取的功能(使用 S3 存储桶作为虚拟“文件系统”),只需在文件名上指定 s3:// 或 s3n:// 协议即可。

不幸的是,它要求您设置 AWS 访问和密钥。由于我想读取的存储桶是公开的,因此我没有任何密钥可供使用。如果我使用自己的密钥,则无法从 ngrams 存储桶中读取数据(因为它不属于我的帐户)。

如何使用存储在 Hadoop 的公共 S3 存储桶中的文件,而无需自己重新托管该文件(这会变得非常昂贵,因为有几 TB 的数据)?

4

1 回答 1

-1

如果数据是公开的,您将不需要 AWS 访问或密钥,因为您不会使用该s3n://变体。相反,您将使用公共 URL 变体,该变体将以http://*.s3.amazonaws.com/*

如果公共 URL 不可用,您可以尝试为每个 AWS 访问密钥和密钥传递一个空白字符串,看看会发生什么

于 2012-06-20T21:03:14.970 回答