我想做一些非常基本的事情,只需通过EMR控制台启动Spark群集并运行依赖于Python包的Spark脚本(例如,Arrow)。做这件事最简单的方法是什么?如何在Amazon EMR上引导Python模块的安装?
18
A
回答
22
最直接的方法是创建一个包含安装命令的bash脚本,将其复制到S3,并从控制台设置引导操作以指向您的脚本。
下面是我在生产中使用的例子:
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
4
总之,根据平台的不同,有两种方法可以使用pip安装软件包。首先,你安装任何你需要的,然后你可以运行你的Spark步骤。最简单的方法是使用EMR-4.0.0和“命令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])
在2.x和3.x,您可以使用脚本runner.jar以类似的方式,只是你有指定scriptrunner的完整URI。
编辑: 对不起,我没有看到你想通过控制台做到这一点。您也可以在控制台中添加相同的步骤。第一步是与上述相同的客户JAR。第二步是火花一步。希望这可以帮助!
+0
哪里'conn'来自 –
相关问题
- 1. 在EMR上的MRJob中导入模块
- 2. 如何安装Python模块
- 3. 如何安装python模块?
- 4. 引导Amazon EMR集群的spark-avro jar
- 5. 安装Python模块
- 6. 安装python模块
- 7. 在EMR上安装GIT
- 8. 安装Python模块
- 9. 如何为Python 2.7.10安装Python模块
- 10. 在Windows Vista上安装python ssl模块
- 11. 如何运行安装的python模块
- 12. 如何在Linux上安装lua模块
- 13. 如何在Windows上安装perl模块?
- 14. 如何在RedHat上安装pyautogui模块
- 15. 在Amazon Linux(apache)上安装OpenCV/python?
- 16. 如何在Windows上运行已安装的Python模块?
- 17. 如何在qpython3上安装模块(python的Android端口)
- 18. 在OS X上安装和导入Python模块
- 19. Python的Pythonpath模块安装
- 20. 安装MySQLdb的Python模块
- 21. 如何在Amazon EMR上运行PySpark作业(使用自定义模块)?
- 22. 如何导入已安装的Python模块?
- 23. 如何为Python安装xbmc模块
- 24. eclipse pydev - 如何安装python模块
- 25. MonkeyRunner ::如何安装python模块?
- 26. 如何安装Python Pynamical包(模块)
- 27. 如何安装Python/Django模块?
- 28. 如何在Google计算引擎上安装pip模块?
- 29. 安装上OSX Python模块使用的easy_install或setup.py的安装
- 30. 如何在Amazon EC2上安装Parse Server?
这将安装EMR群集中某个节点上的软件包。我如何确保软件包安装在所有节点上? – Aliza
这会在所有节点上安装软件包 – noli