Получение больших наборов данных на эластичной карте Amazon уменьшает

Есть несколько больших наборов данных (более 25 ГБ, которые можно загрузить в Интернете), с которыми я хочу поиграться с помощью Amazon EMR. Вместо того, чтобы загружать наборы данных на свой компьютер, а затем повторно загружать их на Amazon, как лучше всего загрузить наборы данных на Amazon?

Нужно ли запускать экземпляр EC2, загружать наборы данных (с помощью wget) в S3 из экземпляра, а затем обращаться к S3 при выполнении заданий EMR? (Раньше я не использовал облачную инфраструктуру Amazon, поэтому не уверен, что то, что я только что сказал, имеет смысл.)


person grautur    schedule 27.04.2011    source источник


Ответы (3)


Я рекомендую следующее...

  1. запустите свой кластер EMR

    elastic-mapreduce --create --alive --other-options-here

  2. войдите в мастер-ноду и загрузите оттуда данные

    wget http://blah/data

  3. скопировать в HDFS

    hadoop fs -copyFromLocal data /data

Нет никакой реальной причины передавать исходный набор данных через S3. Если вы хотите сохранить результаты, вы можете переместить их в S3 перед закрытием кластера.

Если набор данных представлен несколькими файлами, вы можете использовать кластер для его параллельной загрузки на компьютеры. Дайте мне знать, если это так, и я проведу вас через это.

Мат

person mat kelcey    schedule 09.07.2011

Если вы только начинаете и экспериментируете с EMR, я предполагаю, что вы хотите использовать их на s3, чтобы вам не нужно было запускать интерактивный сеанс Hadoop (и вместо этого использовать мастера EMR через консоль AWS).

Лучшим способом было бы запустить микроэкземпляр в том же регионе, что и ваша корзина S3, загрузить на эту машину с помощью wget, а затем использовать что-то вроде s3cmd (которую вам, вероятно, потребуется установить на экземпляр). На Убунту:

wget http://example.com/mydataset dataset
sudo apt-get install s3cmd 
s3cmd --configure
s3cmd put dataset s3://mybucket/

Причина, по которой вы хотите, чтобы ваш экземпляр и корзина s3 находились в одном регионе, заключается в том, чтобы избежать дополнительных расходов на передачу данных. Несмотря на то, что с вас будет взиматься плата за пропускную способность, связанную с инстансом для wget, переход на S3 будет бесплатным.

person robotrobot    schedule 04.10.2011
comment
с вас не будет взиматься плата за входящий трафик; входящие в aws теперь бесплатны aws.typepad.com/aws/2011/06/ - person mat kelcey; 06.10.2011

Я не уверен в этом, но мне кажется, что hadoop должен иметь возможность загружать файлы прямо из ваших источников.

просто введите http://blah/data в качестве входных данных, а Hadoop сделает все остальное. С s3 точно работает, почему с http не должно работать?

person Arsen Zahray    schedule 28.09.2011