gpt4 book ai didi

python - 如何在代码中的亚马逊 EMR 引导操作上安装自定义包?

转载 作者:太空狗 更新时间:2023-10-30 01:01:41 26 4
gpt4 key购买 nike

需要在亚马逊 EMR 引导操作上安装一些包和二进制文件,但我找不到任何使用它的示例。

基本上,我想安装 python 包,并指定每个 hadoop 节点使用这个包来处理 s3 存储桶中的项目,这里是一个示例 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'

我需要让它使用 SimpleCV python 包,但不确定在哪里指定它。如果未安装怎么办,如何安装?有没有办法避免等待安装完成,是否可以在某个地方安装它并只引用python包?

最佳答案

有一个 boto.emr.bootstrap_action.BootstrapAction 类用于引导操作。

定义如下。大部分代码来自 boto example page .

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])

并且您需要定义引导操作。如果您需要另一个版本的 Python,那么是的,在完全相同的计算机上预编译它会节省时间,将其压缩,将其放入 S3 存储桶中,然后在引导过程中解压缩。

#!/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

我认为您可以让 EMR 实例在 boto 中旋转,这样 Bootstrap 只会在您的 session 中第一次出现。在您注销之前请小心关闭它们,以免您的账单出现意外。

关于python - 如何在代码中的亚马逊 EMR 引导操作上安装自定义包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23168663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com