Mongodb 数据库:
{"thread": "abc", "message": "hjhjh", "Date": (2010,4,5,0,0,0)}
{"thread": "abc", "message": "hjhjh", "Date": (2009,3,5,0,0,0)}
{"thread": "efg", "message": "hjhjh", "Date": (2010,3,7,0,0,0)}
{"thread": "efg", "message": "hjhjh", "Date": (2011,4,5,0,0,0)}
如何对上述数据进行 Map-Reduce 或聚合以生成输出:
{"thread": "abc", "messages_per_month": 5}
{"thread": "efg", "messages_per_month": 4}
我正在尝试编写一些代码,但很难对未排序的日期进行平均。是否有任何内置函数可以平均时间来执行此操作?
最佳答案
您可以在日期上执行最小/最大操作,如here所述对于数字,只需为消息添加一个计数器。结果将是一个包含消息数量和最小/最大日期的线程列表。根据日期,您可以计算出月数,然后使用该月数来计算消息数量的平均值。
编辑:更新了链接,其中包含指向存档版本的链接
关于python - 根据时间戳进行 MapReduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10102349/