我将如何构建基于查询的DataStoreInputReader(而不是读取该类型的每个单个实体)。理由是最小化读取(因为查询被索引到子集),以及处理时间。
首先,这是一个好主意吗?或者是否会节省实际时间和处理费用 在使用查询支持的自定义datastoreinputreader或将使用 查询本身取消mapreduce并行性还是增加其他开销?
其次,怎么做?我一直在阅读* input_readers.py *和 它不清楚如何将AbstractDataStoreInputReader子类化 做这个。也许有人可以解释实施的过程 这样的事情,因为阅读代码并不清楚(和 文件已过时或不存在。)
Brownie指出那些可以指向显示自定义数据存储读取器实现的工作代码(github或其他)的人。
这对于使AppEngine MapReduce更易于开发人员访问或友好而言非常重要; - )
答案 0 :(得分:3)
http://code.google.com/p/appengine-mapreduce/source/browse/trunk/python/src/mapreduce/input_readers.py DatastoreInputReader现在支持过滤器!
答案 1 :(得分:0)
来自文档DatastoreInputReader:
此阅读器不进行过滤:您需要执行任何操作 在您的映射器中过滤。