Sử dụng mrjob để chạy mã python trên Bản đồ Đàn hồi của AmazonReduce của Amazon Tôi đã tìm thấy thành công một cách để nâng cấp hình ảnh và vệt bẩn của hình ảnh EMR.Numpy và Scipy với Amazon Elastic MapReduce
Chạy từ giao diện điều khiển các lệnh sau làm việc:
tar -cvf py_bundle.tar mymain.py Utils.py numpy-1.6.1.tar.gz scipy-0.9.0.tar.gz
gzip py_bundle.tar
python my_mapper.py -r emr --python-archive py_bundle.tar.gz --bootstrap-python-package numpy-1.6.1.tar.gz --bootstrap-python-package scipy-0.9.0.tar.gz > output.txt
này bootstraps thành công NumPy mới nhất và scipy vào hình ảnh và hoạt động hoàn hảo. Câu hỏi của tôi là vấn đề tốc độ. Điều này mất 21 phút để cài đặt chính nó trên một ví dụ nhỏ.
Có ai có ý tưởng nào về cách tăng tốc quá trình nâng cấp gọn gàng và scipy không?
Vấn đề của bạn là đây là phiên bản nhỏ chậm. Tôi nghĩ bạn sẽ không thấy bất kỳ tăng tốc thực sự nào trừ khi bạn chuyển sang các phiên bản Amazon lớn hơn. Đây có phải là 21 phút hơn và trên ~ 5-6 phút mà nó thường đòi hỏi EC2 để quay lên các trường hợp ở tất cả? – ely
Tôi đồng ý rằng việc liên lạc với bản gốc quay lên mất một thời gian dài. Ai đó trong cộng đồng mrjob đã đề nghị thực hiện cài đặt này cho một cá thể công nhân, sau đó sử dụng ssh để đăng nhập vào cá thể công nhân, tải xuống thư mục cài đặt đã hoàn thành. Sau đó, tôi chỉ cần vượt qua thư mục cài đặt hoàn thành như một zip với các tập tin của tôi. Python chọn sử dụng NumPy và SciPy cục bộ thay vì các phiên bản đã cài đặt của Hadoop. – jtman