我将如何构建基于查询的DataStoreInputReader(而不是读取该类型的每个实体)。基本原理是尽量减少读取(因为查询已索引到子集)和处理时间。
-
首先,这是一个好主意吗?或者是否有实际的时间和处理节省在使用查询支持的自定义数据存储输入读取器时,或者将查询本身取消MapReduce 并行性或添加其他开销?
-
第二,怎么做?我一直在阅读*input_readers.py*和 不清楚如何将 AbstractDataStoreInputReader 子类化为 这样做。也许有人可以解释实施过程 像这样的东西,因为从阅读代码中不清楚(和 文档已过时或不存在)。
Brownie 为那些可以指向显示自定义数据存储输入阅读器实现的工作代码(github 或其他)的人提供积分。
这将使AppEngine MapReduce更易于开发人员访问或友好;-)
http://code.google.com/p/appengine-mapreduce/source/browse/trunk/python/src/mapreduce/input_readers.pyDatastoreInputReader 现在确实支持过滤器!
来自文档 DatastoreInputReader:
此阅读器不执行任何过滤:您需要执行任何必需的操作 在映射器中过滤。