2013-03-01 54 views
1

我有幾個關於App Engine Map Reduce API的問題。首先,有一個MapReduce的包中的SDK,這裏有一個單獨的MapReduce包:在非默認版本上運行Map Reduce?

https://developers.google.com/appengine/downloads

哪一個我應該使用?我應該使用捆綁軟件還是文檔已過時,我應該使用SDK版本?

其次,我希望能夠在非默認版本上運行mapreduce,以確保來自mapreduce的請求不會干擾用戶請求。

這樣做的最好方法是什麼?我可以使用任務隊列啓動管道,並將該隊列的目標版本設置爲我的非默認版本嗎?

回答

2

我們推薦使用地圖的開源版本在http://code.google.com/p/appengine-mapreduce/

減少GAE在文檔中的陳舊捆綁鏈路是一個錯誤。那會馬上清理乾淨。

我們的一些SDK有幾個MapReduce(出於歷史原因),但開源版本是現在的方式。

至於使用單獨的版本,這是一種「它取決於」。如果您在處理器競爭方面考慮干涉,這可能不是一個明顯的問題。根據您設置的隊列處理速率,您的應用程序的更多實例將根據需要轉換爲處理映射任務。我會先嚐試一些實驗。在投入時間和精力解決問題之前,確保你有問題。

+0

謝謝!很高興知道。就我的第二個問題而言,有什麼建議?是否將單獨版本的用戶請求中的mapreduce請求分開,甚至是一個好主意? – 2daaa 2013-03-01 22:46:38

+0

在上面加了一點。 – 2013-03-02 04:05:56

0

mapreduce可以啓動一個非默認版本。在啓動後,它會自動繼續在該版本上運行。

就我而言,我只是將代碼部署在非默認版本上,並使用version_id.app_id.appspot.com/path_to_start_a_job觸發mapreduce。

cron作業還可以在沒有問題的情況下在非默認版本上觸發mapreduce。