我正在開展一個小項目,以熟悉亞馬遜網絡服務。我試圖做一個簡單的Web應用程序;當一個按鈕被按下時,mapreduce作業被啓動並且輸出在瀏覽器上被返回。 什麼是最好的方法來做到這一點?另外,有沒有辦法通過命令行啓動亞馬遜彈性mapreduce作業?遠程啓動Amazon Elastic MapReduce作業?
0
A
回答
2
您可以使用您正在編寫Web應用程序的任何語言的AWS SDK來調用EMR來提交作業。我主要使用python工作,所以我最熟悉Python Boto庫,這使得將代碼和數據上傳到s3,配置作業流並啓動作業流程非常輕鬆。
您不會希望啓動作業並在相同的HTTP請求中返回結果,因爲只有在作業能夠運行之前啓動集羣需要幾分鐘的時間。網頁應用程序的頁面不響應分鐘不是一個好的用戶體驗。但是,只提交工作流程似乎只需要幾秒鐘。您需要創建作業流程,並只需跟蹤Web應用程序中的作業流ID。給定一個作業流ID,當用戶回來並且作業完成時,您不應該在檢索日誌數據或從作業流中輸出時遇到太多麻煩。
這裏是一個可以如何與博託推出的彈性MR作業的例子:
import boto
from boto.emr.step import StreamingStep
conn = boto.connect_emr()
step = StreamingStep(name='My wordcount example',
mapper='s3n://elasticmapreduce/samples/wordcount/wordSplitter.py',
reducer='aggregate',
input='s3n://elasticmapreduce/samples/wordcount/input',
output='s3n://<my output bucket>/output/wordcount_output')
jobid = conn.run_jobflow(name='My jobflow',
log_uri='s3://<my log uri>/jobflow_logs',
steps=[step])
0
你給這個看看了嗎? http://developer.amazonwebservices.com/connect/entry.jspa?externalID=873它來自開發方,可能會幫助你。
+0
是的,我已經看到了。但是,如何通過Web應用程序遠程調用shell腳本? – Kareem 2010-08-26 21:14:46
相關問題
- 1. Amazon Elastic MapReduce - SIGTERM
- 2. Webdriver,PhantomJS和Amazon Elastic Mapreduce
- 3. Amazon Elastic Mapreduce默認配置
- 4. Numpy and Scipy with Amazon Elastic MapReduce
- 5. Amazon Elastic Mapreduce:引導操作問題?
- 6. Amazon Elastic MapReduce:無法創建包含大量實例的作業流程
- 7. 如何遠程運行mapreduce作業
- 8. Spring MVC和Apache Hadoop啓動MapReduce作業
- 9. 使用bash遠程啓動作業
- 10. 重複使用Amazon Elastic MapReduce實例
- 11. Amazon Elastic MapReduce:來自FileSystem的異常
- 12. Amazon Elastic MapReduce的容量調度器
- 13. 通過boto獲取Amazon Elastic MapReduce作業流中已完成步驟的數量
- 14. 是否可以使用.NET爲Amazon Elastic MapReduce編寫map/reduce作業?
- 15. Amazon EC2實例遠程啓動
- 16. 使用相同的mapreduce代碼/ jar啓動多個mapreduce作業
- 17. 在Amazon Elastic Transcoder上自動轉碼作業
- 18. 我們是否可以將更多Amazon Elastic Mapreduce實例添加到現有的Amazon Elastic Mapreduce實例中?
- 19. Hive沒有啓動mapreduce作業..在執行過程中卡住
- 20. 如何在windows的amazon彈性mapreduce(emr)集羣上運行mapreduce作業?
- 21. HbaseTestingUtility和MapReduce作業
- 22. 剖析MapReduce作業
- 23. 如何在沒有Amazon GUI的情況下在Elastic MapReduce上自動運行豬批處理作業?
- 24. 如何等待在Java應用程序中完成Elastic MapReduce作業流程?
- 25. 我可以從AWS Elastic Mapreduce作業訪問zookeeper嗎
- 26. 用於mapreduce作業的StreamInputFormat
- 27. SecondaryNamenode和MapReduce作業
- 28. 多個MapReduce作業
- 29. Amazon Elastic Cloud無法在子網上啓動
- 30. 您是否可以輕鬆地以編程方式控制Elastic Mapreduce作業?
是的,謝謝邁克。最近我也一直在使用python。 boto和paramiko庫對於創建集羣並將它們運行以運行命令非常有用。 – Kareem 2011-02-24 19:59:25
沒問題,Kareem。 :-)那麼你是Python中的Web應用程序呢? – stderr 2011-02-24 20:02:22