2012-04-11 91 views
0

我正在運行mapreduce框架附帶的演示。它給我一個錯誤:在Google應用引擎上運行mapreduce工作

File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__ 
    handler.post(*groups) 
    File "/path/to/mapreduce/base_handler.py", line 68, in post 
    self.handle() 
    File "/path/to/mapreduce/handlers.py", line 431, in handle 
    self.aggregate_state(state, shard_states) 
    File "/path/to/mapreduce/handlers.py", line 462, in aggregate_state 
    context.COUNTER_MAPPER_CALLS)) 
    File "/path/to/mapreduce/model.py", line 257, in get 
    return self.counters.get(counter_name, 0) 
AttributeError: 'list' object has no attribute 'get' 

這是我做錯了,演示不工作?其他地方是否有更新的代碼?

這是使用代碼http://appengine-mapreduce.googlecode.com/svn/trunk/

+0

在什麼時候你會得到這個錯誤?你上傳到演示文件的是什麼樣的文件? – someone1 2012-04-11 21:37:27

回答

0

不熟悉的代碼,但最新的代碼是MapReduce的包,你可以從SDK下載: https://developers.google.com/appengine/downloads

它配備了一個有點演示。我能夠遵循這一點,並得到它的工作: http://code.google.com/p/appengine-mapreduce/wiki/GettingStartedInPython

這裏有一些額外的筆記,當我試圖讓MapReduce運行。 http://eatdev.tumblr.com/post/17983355135/using-mapreduce-with-django-nonrel-on-app-engine

+0

感謝您指出下載鏈接。我可以通過yaml設置映射器來運行它。但我試圖讓它通過管道API工作(如在演示中)。主要是我可以運行減少部分,而不僅僅是地圖部分。 – tedroden 2012-04-11 20:06:14

+0

啊我可能沒有幫助。我認爲管道的Reduce部分的文檔不太有用,但幸運的是,我並不需要它。我從來沒有運行過這個示例,所以在它開始工作之前,您需要自己上傳文本文件或壓縮文本到blobstore,並且我沒有爲這一步驟而煩惱。 – dragonx 2012-04-11 20:44:00

相關問題