Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在代码中的amazon EMR引导操作上安装自定义软件包?_Python_Boto_Amazon Emr - Fatal编程技术网

Python 如何在代码中的amazon EMR引导操作上安装自定义软件包?

Python 如何在代码中的amazon EMR引导操作上安装自定义软件包?,python,boto,amazon-emr,Python,Boto,Amazon Emr,需要在AmazonEMR引导操作上安装一些软件包和二进制文件,但我找不到任何使用此功能的示例 基本上,我想安装python包,并指定每个hadoop节点使用该包处理s3 bucket中的项目,下面是一个示例frpm boto name='Image to grayscale using SimpleCV python package', mapper='s3n://elasticmapreduce/sampl

需要在AmazonEMR引导操作上安装一些软件包和二进制文件,但我找不到任何使用此功能的示例

基本上,我想安装python包,并指定每个hadoop节点使用该包处理s3 bucket中的项目,下面是一个示例frpm boto

                      name='Image to grayscale using SimpleCV python package',
                      mapper='s3n://elasticmapreduce/samples/imageGrayScale.py',
                      reducer='aggregate',
                      input='s3n://elasticmapreduce/samples/input',
                      output='s3n://<my output bucket>/output'
name='Image to grayscale using SimpleCV python package',
mapper='s3n://elasticmapreduce/samples/imageGrayScale.py',
“聚合”,
input='s3n://elasticmapreduce/samples/input',
output='s3n:///output'

我需要让它使用SimpleCV python包,但不确定在哪里指定它。如果未安装,如何安装?是否有一种方法可以避免等待安装完成,是否可以将其安装到某个地方并只参考python包?

有一个类boto.emr.bootstrap\u action.bootstrap action用于引导操作

定义如下。大部分代码来自


我认为您可以让EMR实例从boto内部旋转,这样引导只在会话中第一次发生。在你注销之前要小心关闭它们,这样你的账单上就不会有惊喜了。

你有没有听说过
boto
?是的,我就是从那里得到示例代码的,特别是sudo apt get命令帮助我手动完成的。
import boto.emr
from boto.emr.bootstrap_action import BootstrapAction

action = BootstrapAction(name="Bootstrap to add SimpleCV",
                         path="s3n://<my bucket uri>/bootstrap-simplecv.sh")

conn = boto.emr.connect_to_region('us-west-2')
jobid = conn.run_jobflow(name='My jobflow',
                         log_uri='s3://<my log uri>/jobflow_logs',
                         steps=[step],  # step defined elsewhere
                         bootstrap_actions=[action])
#!/bin/sh
# filename: bootstrap-simplecv.sh  (save it in an S3 bucket)
set -e -x

sudo apt-get install python-setuptools
sudo easy_install pip 
sudo pip install -U SimpleCV