我一直在掙扎與此幾個小時...Python的AppEngine上的MapReduce帶來壞實體類型上來看
在我的項目,我必須在文件夾「項目」來定義我的models.py,主要的根目錄下。我還在「project」文件夾內的mapreduce文件夾中放置了mapreduce文件。文件系統是這樣的:
主根
-Project文件夾
- > models.py
- >文件夾中的MapReduce
我已在mapreduce.yaml文件中定義爲:
mapreduce:
- name: Advice_Hidden
mapper:
input_reader: mapreduce.input_readers.DatastoreInputReader
handler: mapreduce.main_map_handler.add_hidden
params:
- name: entity_kind
default: project.models.Advice
但是當我嘗試運行mapreduce時,出現錯誤:
BadReaderParamsError: Bad entity kind: Could not find 'models' on path 'advice'
任何人都可以幫我嗎?還應該注意到我也在使用Django-Piston。
你的app.yaml在哪裏?在'主根'或'項目文件夾'?如果前者,你的項目文件夾是否有'__init __。py'? – 2011-04-28 05:04:07
我的app.yaml與mapreduce.yaml一起位於主根中。是的,我的Project文件夾也有一個__init__.py。你認爲這可能是我的文件結構?我試圖在根目錄下使用mapreduce文件夾,但無濟於事。 – troy 2011-04-28 13:02:16
它看起來像是遇到了mapreduce如何導入模塊的問題。嘗試重新排列導入,以使'models.py'位於頂層。如果解決了這個問題,你應該爲mapreduce項目提交一個bug。另外,您不應該修改mapreduce包 - 將處理程序放在您自己的包中。 – 2011-04-29 01:02:55