การรับชุดข้อมูลขนาดใหญ่ลงบนแผนที่ยืดหยุ่นของ Amazon ลดลง

มีชุดข้อมูลขนาดใหญ่บางชุด (25gb+ ดาวน์โหลดได้ทางอินเทอร์เน็ต) ที่ฉันต้องการลองใช้ 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 แต่ xfer ไปยัง 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