草庐IT

mapReduce

全部标签

java - 使用 MongoDB 进行漏斗分析?

我有一个名为“事件”的集合,它跟踪来自移动应用程序的事件。事件文档的结构是{eventName:"eventA",screenName:"HomeScreen",timeStamp:NumberLong("135698658"),tracInfo:{...,"userId":"user1","sessionId":"123cdasd2123",...}}我想创建报告以显示特定channel:例如:漏斗是:事件1->事件2->事件3我想找到以下数量:Activity1事件1然后事件2先是事件1,然后是事件2,然后是事件3并且session也被认为是在单个session中发生的。注意:只是

MongoDB 按键值对聚合/分组

我的数据看起来像这样:{"_id":"9aa072e4-b706-47e6-9607-1a39e904a05a","customerId":"2164289-4","channelStatuses":{"FOO":{"status":"done"},"BAR":{"status":"error"}},"channel":"BAR",}我的聚合/组看起来像这样:{"_id":{"customerId":"$customerId","channel":"$channel","status":"$channelStatuses[$channel].status"},"count":{"$su

用于计算参数值的 MapReduce

我有这样的文档:{"_id":ObjectId("4d17c7963ffcf60c1100002f"),"title":"Text","params":{"brand":"BMW","model":"i3"}}{"_id":ObjectId("4d17c7963ffcf60c1100002f"),"title":"Text","params":{"brand":"BMW","model":"i5"}}我需要的是每个参数值的计数。喜欢:brand---------BMW(2)model---------i3(1)i5(1)我想我必须编写map/reduce函数。我怎样才能做到这一点?谢谢

node.js - MapReduce 中的 MongoDB 动态变量

我有用于mongodbmapreduce的node.js路由器:app.get('/api/facets/:collection/:groupby',function(req,res){varcollection=db.collection(req.params.collection);vargroupby=req.params.groupby;varmap=function(){if(!this.region){return;}for(indexinthis.region){emit(this.region[index],1);}}varreduce=function(previou

mongodb - 组结果 mongoDB

我有一个集合,其中包含这样的数组国家/地区值。我想总结一下这些国家的值(value)。{"_id":ObjectId("54cd5e7804f3b06c3c247428"),"country_json":{"AE":NumberLong("13"),"RU":NumberLong("16"),"BA":NumberLong("10"),...}},{"_id":ObjectId("54cd5e7804f3b06c3c247429"),"country_json":{"RU":NumberLong("12"),"ES":NumberLong("28"),"DE":NumberLong("

MongoDB - 聚合到另一个集合?

我有一个流程,目前正在使用Mongo的Map/Reduce框架,但它的性能不是很好。这是一个非常简单的聚合,我对3个字段进行分桶,返回4个不同字段的总和,并传递另外4个字段的值(在每个分桶中是常量)。由于[Map-ReduceperformanceinMongoDb2.2,2.4,and2.6中描述的原因]],我想将其转换为聚合框架以获得更好的性能,但我认为有3种障碍:总结果可能很大,超过了Mongo的16MB限制,即使结果中的任何一个文档都非常小。我可以直接映射/缩减到另一个集合,但聚合框架只能返回内联结果(我想?)对于随着更多数据到达源集合而进行的增量更新,我可以将MapReduc

MongoDB 数据集 : pairs not reducing or problem with script

我是编程和mongoDB的新手,正在学习,我正在尝试mapreduce在dataset上使用mongoDB。到目前为止,我已经将csv转换为json并使用罗盘将其导入到mongoDB中。在罗盘中,数据现在看起来像这样:_id:5bc4e11789f799178470be53slug:"bitcoin"symbol:"BTC"name:"Bitcoin"date:"2013-04-28"ranknow:"1"open:"135.3"high:"135.98"low:"132.1"close:"134.21"volume:"0"market:"1500520000"close_ratio:

string - 在整个集合的字符串字段中查找最常用的词

假设我有一个类似于以下内容的Mongo集合:[{"foo":"barbazboo"},{"foo":"barbaz"},{"foo":"boobaz"}]是否可以确定哪些词在foo字段中出现的频率最高(最好使用计数)?例如,我喜欢这样的结果集:[{"baz":3},{"boo":2},{"bar":2}] 最佳答案 最近关闭了一个JIRAissue关于在聚合框架的$project阶段使用的$split运算符。有了它,您就可以创建这样的管道db.yourColl.aggregate([{$project:{words:{$split:

python - “集合”对象不可调用。如果你打算在 'mapReduce' 对象上调用 'Collection' 方法,它会失败,因为不存在这样的方法

我正在使用pyMongo1.11和MongoDB1.8.2。我正在尝试做一个相当复杂的Map/Reduce。我在Mongo中制作了这些函数的原型(prototype)并让它运行起来,但是当我尝试将它转移到Python时,我得到:---------------------------------------------------------------------------TypeErrorTraceback(mostrecentcalllast)/Developer/R-and-D/in()---->1results=db.user_actions.mapReduce(map,re

mongodb - 在 mongo 中,我如何使用 map reduce 按最近的顺序获取一组

我看到的mapreduce示例使用诸如计数之类的聚合函数,但是使用mapreduce获取每个类别中前3项的最佳方法是什么。我假设我也可以使用group函数,但很好奇,因为他们声明分片环境不能使用group()。但是,我实际上也有兴趣查看group()示例。 最佳答案 为了简化起见,我假设您有以下形式的文档:{category:,score:}我创建了1000个文档,涵盖100个类别:for(vari=0;i我们的映射器非常简单,只需发出类别作为键,以及一个包含分数数组的对象作为值:mapper=function(){emit(thi