1

当使用 S3 存储桶作为输入源创建新的 EMR 作业时,数据是否会自动从 S3 复制到节点上的 HDFS 中?或者数据是否仅保留在 S3 中并在 map reduce 作业需要时读取?

我的印象是后者;但是,如果数据存储在 S3 中并在预置的 EC2 实例上完成处理,这是否不违反 map reduce 的基本原则:对数据进行本地处理?与更传统的系统相反:将数据移动到处理所在的位置。

给定一个合理的大数据集(例如 1PB),这种方法的相对含义是什么,例如集群启动时间是否更长?

4

1 回答 1

0

你有两个选择。您可以直接从 Amazon S3 流式传输数据,或者先将其复制到 HDFS,然后在本地进行处理。如果您只打算读取一次数据,则第一种方法很好。如果您的计划是多次查询相同的输入数据,那么您可能希望先将其复制到 HDFS。

是的,通过使用 S3 作为 MapReduce 的输入,您将失去数据局部性优化。此外,如果您的计划是使用 S3 作为 HDFS 的替代品,我建议您使用 S3S3 Block FileSystem而不是S3 Native FileSystem因为它对文件大小施加了 5GB 的限制。

高温高压

于 2013-06-02T19:53:47.490 回答