2014-04-19 15 views
5

अमेज़ॅन ईएमआर बूटस्ट्रैप कार्रवाई पर कुछ संकुल और बाइनरी स्थापित करने की आवश्यकता है लेकिन मुझे इसका कोई उदाहरण नहीं मिल रहा है।कोड में अमेज़ॅन ईएमआर बूटस्ट्रैप कार्रवाई पर कस्टम पैकेज कैसे स्थापित करें?

असल में, मैं अजगर पैकेज स्थापित है, और S3 बकेट में आइटम के प्रसंस्करण के लिए इस पैकेज का उपयोग करने के लिए प्रत्येक Hadoop नोड निर्दिष्ट करना चाहते हैं, यहाँ Boto frpm एक नमूना है।

     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' 

मुझे इसे सरल सीवी पायथन पैकेज का उपयोग करने की आवश्यकता है, लेकिन यह सुनिश्चित नहीं है कि यह कहां निर्दिष्ट करें। अगर यह स्थापित नहीं है, तो मैं इसे कैसे स्थापित करूं? क्या इंस्टॉलेशन को पूरा करने की प्रतीक्षा करने से बचने का कोई तरीका है, क्या इसे कहीं और स्थापित करना संभव है और केवल पायथन पैकेज का संदर्भ देना संभव है?

+0

क्या आपने सुना है 'बोटो'? – emeth

+0

हां, जहां मुझे – KJW

उत्तर

6

एक वर्ग 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]) 

और आपको बूटस्ट्रैप कार्रवाई को परिभाषित करने की आवश्यकता है। यदि आपको पाइथन के किसी अन्य संस्करण की आवश्यकता है तो हां, यह सटीक उसी कंप्यूटर पर प्रीकंपाइल करने के लिए समय बचाएगा, इसे टैर करेगा, इसे एक एस 3 बाल्टी में रखेगा, और उसके बाद बूटस्ट्रैप के दौरान इसे हटा दें।

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

मुझे लगता है कि इतना है कि बूटस्ट्रैप केवल आपके सत्र में पहली बार होता है आप Boto के भीतर से कताई ईएमआर उदाहरणों छोड़ सकते हैं। लॉग आउट करने से पहले उन्हें बंद करने के लिए सावधान रहें ताकि आपको अपने बिल पर कोई आश्चर्य न हो।

+0

से नमूना कोड मिला, विशेष रूप से सुडो एपीटी-प्राप्त कमांड ने मुझे मैन्युअल रूप से ऐसा करने में मदद की। –

संबंधित मुद्दे