从S3加载AWS EMR

时间:2013-06-01 21:41:10

标签: amazon-web-services mapreduce bigdata amazon-emr emr

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

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

在给定合理的大数据集(例如1PB,例如1PB)的情况下,这种方法的相对含义是什么?集群开始需要更长的时间吗?

1 个答案:

答案 0 :(得分:0)

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

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

HTH