我想在mapreduce作業定稿/完成後執行自定義回調函數。GAE上的Mapreduce Python - 導致ReducePipeline在完成時發出回調?
我發現這個問題唯一有用的參考文獻是a somewhat outdated Google site和一個相關的,但看起來已經過時Stackoverflow question。
這些來源假設我用揭開序幕MapReduce作業,並依賴於一個事實,即start_map
需要一個關鍵字參數mapreduce_parameters
,其中一個可以指定一個done_callback
參數來指定要在完成被稱爲URL。但是,我用不同的方法(據我所知越近,首選1),其中一個自定義管道的run
方法產生MapReduce的管道:
yield mapreduce_pipeline.MapreducePipeline(
"word_count",
"main.word_count_map",
"main.word_count_reduce",
"mapreduce.input_readers.BlobstoreZipInputReader",
"mapreduce.output_writers.BlobstoreOutputWriter",
mapper_params={
"blob_key": blobkey,
},
reducer_params={
"mime_type": "text/plain",
},
shards=16)
爲MapreducePipeline簽名不允許一個mapreduce_parameters
說法。我可以看到在源代碼中回調出現的引用的唯一地方是mapper_pipeline.MapperPipeline.run
,但它似乎只在內部使用。
那麼,有沒有辦法讓那裏的回調參數?
如果沒有,是否有人對在哪裏以及如何擴展庫提供這樣的功能有很好的想法?
)你知道什麼是pipeline嗎?之後或爲什麼它是neceesay?根據我的經驗,簡單地產生後處理管道將執行它的代碼在主苯胺完成後。這也是如何檢索[GAE MR Hello World應用](https://developers.google.com/appengine/docs/python/dataprocessing/helloworld)中的輸出文件blobkey,所以我沒有想到它。 – Alice
pipeline.After需要確保生成的管道的正確執行順序。到目前爲止,我最喜歡的管道功能之一是,在文檔中:https://code.google.com/p/appengine-pipeline/wiki/GettingStarted#Execution_ordering – Josh
明白了。謝謝。 – Alice