1

When crating a new EMR Job with an S3 bucket as the input source, is the data automatically copied from S3 into HDFS on the nodes? Or does the data remain solely in S3 and read when needed by map reduce jobs?

I get the impressions its the latter; but if data is stored in S3 and the processing done on provisioned EC2 instances, does this not go against a fundamental principle of map reduce: doing processing local to the data? As opposed to a more a traditional system: moving the data to where the processing is.

What are the relative implications of this approach given a reasonable large data set such as 1PB e.g. does the cluster take longer to start?

4

1 に答える 1

0

両方のオプションがあります。Amazon S3 から直接データをストリーミングすることも、最初に HDFS にコピーしてからローカルで処理することもできます。データを 1 回だけ読み取る場合は、最初の方法が適しています。また、同じ入力データを複数回クエリする予定の場合は、最初に HDFS にコピーすることをお勧めします。

はい、S3 を MapReduce への入力として使用すると、データの局所性の最適化が失われます。S3 Block FileSystemまた、S3 を HDFS の代わりに使用する予定がある場合はS3 Native FileSystem、ファイル サイズに 5 GB の制限があるため、S3 を使用することをお勧めします。

HTH

于 2013-06-02T19:53:47.490 に答える