作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将 MapReduce 结果写回数据存储?我的第一个想法是“DatastoreOutputWriter”,但显然没有这样的东西。
澄清:问题不在于修改/保存实体。相反,我想处理它们,并将处理后的结果(不同类型的实体)存储在数据存储区中。
示例:时常统计用户数量,并将结果保存到包含日期和计数的新实体中。
最佳答案
InputReader 的目的通常是将作业拆分为每个实体的任务。您通常编写处理程序来处理传递给适当实体的每个任务。
您实际上并不需要 DatastoreOutputWriter,因为您可以简单地在任务中写入实体。 mapreduce 库有一些工具可以通过使用 async Puts 来提高效率。推荐使用它们,但不使用它们的代码仍然有效。这是一个非常简单的处理程序,它进行了一些小的修改并在映射器阶段将实体写回:
def addNewAttribute(entity, *args, **kwargs):
try:
if not entity.get("newattribute"):
entity["newattribute"] = False
yield op.db.Put(entity) # save the entity back to datastore
yield op.counters.Increment("touched") # use mapreduce counter to track operations
except:
yield op.counters.Increment("touchFail")
关于python - 有没有类似 DatastoreOutputWriter 的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441597/
如何将 MapReduce 结果写回数据存储?我的第一个想法是“DatastoreOutputWriter”,但显然没有这样的东西。 澄清:问题不在于修改/保存实体。相反,我想处理它们,并将处理后的结
我是一名优秀的程序员,十分优秀!