Tôi muốn làm một cái gì đó thực sự cơ bản, chỉ đơn giản là cháy lên một cụm Spark thông qua giao diện điều khiển EMR và chạy một kịch bản Spark phụ thuộc vào một gói Python (ví dụ, Arrow). Cách đơn giản nhất để làm điều này là gì?Làm thế nào để cài đặt bootstrap của các mô-đun Python trên Amazon EMR?
Trả lời
Cách đơn giản nhất là tạo ra một kịch bản bash chứa các lệnh cài đặt, sao chép nó vào S3, và thiết lập một hành động bootstrap từ bàn điều khiển để trỏ đến kịch bản của bạn.
Dưới đây là một ví dụ tôi đang sử dụng trong sản xuất:
s3: //mybucket/bootstrap/install_python_modules.sh
#!/bin/bash -xe
# Non-standard and non-Amazon Machine Image Python modules:
sudo pip install -U \
awscli \
boto \
ciso8601 \
ujson \
workalendar
sudo yum install -y python-psycopg2
Nói tóm lại, có hai cách để cài đặt các gói với pip, tùy thuộc vào nền tảng này. Trước tiên, bạn cài đặt bất cứ điều gì bạn cần và sau đó bạn có thể chạy bước Spark của bạn. Cách dễ nhất là sử dụng emr-4.0.0 và 'command-runner.jar':
from boto.emr.step import JarStep
>>> pip_step=JarStep(name="Command Runner",
... jar="command-runner.jar",
... action_on_failure="CONTINUE",
... step_args=['sudo','pip','install','arrow']
...)
>>> spark_step=JarStep(name="Spark with Command Runner",
... jar="command-runner.jar",
... step_args=["spark-submit","/usr/lib/spark/examples/src/main/python/pi.py"]
... action_on_failure="CONTINUE"
)
>>> step_list=conn.add_jobflow_steps(emr.jobflowid, [pip_step,spark_step])
Trên 2.x và 3.x, bạn sử dụng tập lệnh-runner.jar theo cách tương tự ngoại trừ việc bạn có để chỉ định URI đầy đủ cho scriptrunner.
EDIT: Xin lỗi, tôi không thấy rằng bạn muốn làm điều này thông qua giao diện điều khiển. Bạn cũng có thể thêm các bước tương tự trong bảng điều khiển. Bước đầu tiên sẽ là một JAR của Khách hàng với cùng một arg như trên. Bước thứ hai là một bước tia lửa. Hi vọng điêu nay co ich!
nơi nào 'conn' đến từ –
- 1. làm thế nào để cài đặt gói tùy chỉnh trên amazon EMR bootstrap hành động trong mã?
- 2. Làm thế nào để cài đặt ansible trên amazon aws?
- 3. Làm cách nào để cài đặt các phụ thuộc lxml trên Linux của Amazon EC2?
- 4. Amazon EC2 so với Amazon EMR
- 5. Làm thế nào để cài đặt Php5.6 trong linux amazon
- 6. Làm thế nào để cài đặt PyGame trên Python 3.4?
- 7. Spark + EMR sử dụng cài đặt "maximumResourceAllocation" của Amazon không sử dụng tất cả các lõi/vcores
- 8. Cài đặt numpy trên Amazon EC2
- 9. Làm thế nào để cài đặt Railo trên một cá thể Amazon Linux?
- 10. Làm thế nào để gỡ bỏ cài đặt mysql trên amazon ec2 vi dụ
- 11. Làm thế nào để cài đặt GraphicsMagick với hỗ trợ PNG trên Amazon EC2?
- 12. Làm thế nào để cài đặt mod_wsgi như một python vào cài đặt python?
- 13. Làm thế nào để cài đặt PyBluez trên Windows 8.1?
- 14. Làm thế nào để ngăn chặn thông báo INFO cho spark-sql đang chạy trên EMR?
- 15. làm thế nào để cài đặt python distutils
- 16. Làm cách nào để sao chép các tệp từ S3 sang Amazon EMR HDFS?
- 17. Làm thế nào để cài đặt setuptools?
- 18. Làm thế nào để cài đặt pygments trên Ubuntu?
- 19. Làm thế nào để cài đặt pytables 3.2 trên anaconda?
- 20. Làm thế nào để cài đặt cvxopt trên trên windows 10 trên python 3.6
- 21. Làm thế nào để cài đặt Psycopg2 cho Python 3.5
- 22. Làm thế nào để cài đặt pycairo trên osx?
- 23. Làm thế nào để cài đặt xmlrpclib trong python 3.4?
- 24. Làm thế nào để cài đặt django cho python 3.3
- 25. Làm thế nào để cài đặt bpython cho Python 3?
- 26. Làm thế nào để Gỡ cài đặt setuptools python
- 27. Làm thế nào để cài đặt Tensorflow trên Python 2.7 trên Windows?
- 28. Làm thế nào để cài đặt python-mode.el cho Emacs?
- 29. Cách tốt nhất để gửi nhật ký apache-spark tới redis/logstash trên cụm Amazon EMR
- 30. Làm thế nào để cài đặt cx_Oracle trên El Capitan
này sẽ cài đặt các gói trên một trong các nút trong cụm EMR. Làm cách nào để đảm bảo gói được cài đặt trên tất cả các nút? – Aliza
Cài đặt gói này trên tất cả các nút – noli