memasukkan kumpulan data besar ke pengurangan peta elastis amazon

Ada beberapa kumpulan data besar (25 GB+, dapat diunduh di Internet) yang ingin saya uji menggunakan Amazon EMR. Daripada mengunduh kumpulan data ke komputer saya sendiri, lalu mengunggahnya kembali ke Amazon, apa cara terbaik untuk memasukkan kumpulan data ke Amazon?

Apakah saya menjalankan instans EC2, mengunduh kumpulan data (menggunakan wget) ke S3 dari dalam instans, dan kemudian mengakses S3 ketika saya menjalankan pekerjaan EMR saya? (Saya belum pernah menggunakan infrastruktur cloud Amazon sebelumnya, jadi tidak yakin apakah yang baru saja saya katakan masuk akal.)


person grautur    schedule 27.04.2011    source sumber


Jawaban (3)


Saya merekomendasikan yang berikut ini...

  1. jalankan klaster EMR Anda

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

  2. masuk ke node master dan unduh data dari sana

    wget http://blah/data

  3. salin ke HDFS

    hadoop fs -copyFromLocal data /data

Tidak ada alasan nyata untuk memasukkan kumpulan data asli melalui S3. Jika Anda ingin menyimpan hasilnya, Anda dapat memindahkannya ke S3 sebelum mematikan cluster Anda.

Jika kumpulan data diwakili oleh beberapa file, Anda dapat menggunakan cluster untuk mengunduhnya secara paralel di seluruh mesin. Beri tahu saya jika ini masalahnya dan saya akan memandu Anda mengatasinya.

Tikar

person mat kelcey    schedule 09.07.2011

Jika Anda baru memulai dan bereksperimen dengan EMR, saya rasa Anda menginginkan ini di s3 sehingga Anda tidak perlu memulai sesi Hadoop interaktif (dan sebagai gantinya menggunakan wizard EMR melalui konsol AWS).

Cara terbaik adalah memulai instans mikro di wilayah yang sama dengan bucket S3 Anda, unduh ke mesin tersebut menggunakan wget, lalu gunakan sesuatu seperti s3cmd (yang mungkin perlu Anda instal pada instance). Di Ubuntu:

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

Alasan Anda ingin instans dan bucket s3 Anda berada di wilayah yang sama adalah untuk menghindari biaya transfer data tambahan. Meskipun Anda akan dikenakan biaya bandwidth terikat ke instance wget, xfer ke S3 akan gratis.

person robotrobot    schedule 04.10.2011
comment
Anda tidak akan dikenakan biaya untuk lalu lintas masuk; masuk ke aws sekarang gratis aws.typepad.com/aws/2011/06/ - person mat kelcey; 06.10.2011

Saya tidak yakin tentang hal itu, tetapi bagi saya sepertinya hadoop dapat mengunduh file langsung dari sumber Anda.

cukup masukkan http://blah/data sebagai masukan Anda, dan hadoop akan melakukan sisanya. Ini tentu saja berfungsi dengan s3, mengapa tidak berfungsi dengan http?

person Arsen Zahray    schedule 28.09.2011