2013-06-01 2 views
1

При сборке нового задания EMR с ведром S3 в качестве источника входного сигнала данные автоматически копируются из S3 в HDFS на узлах? Или данные остаются только в S3 и читаются, когда это необходимо, при работе с картами?Загрузка AWS EMR с S3

Получаю последние впечатления; но если данные хранятся в S3 и обработка, выполняемая в запрошенных экземплярах EC2, не противоречит ли это основополагающему принципу карты: выполняйте локальную обработку данных? В отличие от более традиционной системы: перемещение данных туда, где происходит обработка.

Каковы относительные последствия этого подхода, учитывая разумный большой набор данных, такой как 1PB, например. кластер займет больше времени?

ответ

0

У вас есть оба варианта. Вы можете передавать данные непосредственно с Amazon S3 или сначала копировать их на HDFS, а затем обрабатывать их локально. Первый способ хорош, если вы только собираетесь читать данные один раз. И если ваш план состоит в том, чтобы запросить одни и те же данные ввода несколько раз, то вы, вероятно, захотите скопировать его в HDFS в первую очередь.

И да, используя S3 в качестве входа в MapReduce, вы теряете оптимизацию локализации данных. Кроме того, если ваш план заключается в использовании S3 в качестве замены HDFS, я бы порекомендовал вам пойти с S3 Block FileSystem вместо S3 Native FileSystem, поскольку он налагает ограничение на размер 5 ГБ на размер файла.

НТН

+1

Использование s3bfs (блок хранения файлов системы) обескураживает AWS: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-file-systems.html – Guy

+0

Ох .. я вижу .. спасибо за обновление. – Tariq

Смежные вопросы