草庐IT

mapReduce

全部标签

php - map 中的原子性/减少新记录 (MongoDB)

情况是这样的:我有一个MongoDB集群和一个网络应用程序,它执行相当密集的Map/Reduce查询。此查询在cron作业中定期(每5分钟)发生一次,结果存储(使用$merge)到一个集合中。有效方法:目前,查询对其集合中的每条记录执行。所述集合正在慢慢增长到数百万行,并且每次运行时都需要更长的时间。显而易见的解决方案是对新记录运行Map/Reduce,并对旧存储值使用reduce函数来计算正确的值。MongoDB很棒,它允许您指定一个reduce选项而不是merge来做到这一点。我不明白的是:如何仅对初始集合中的新记录正确执行M/R。我看到了两种可能的解决方案,但都不好。想法?我可以

mongodb - 在 MongoDB 中分组和计数

我正在尝试对mongodb2.0.1中每个组的元素数量进行分组和计数,但到目前为止没有成功。我的数据库架构如下:{"_id":ObjectId("4ece7544853b4b0941000000"),"ResultSet":{"Results":[{"quality":87,"state":"Franche-Comté"}]}}我一直在尝试各种方法,遵循不同的教程,但每次都是相同的结果:一个唯一的空组......我不明白为什么。到目前为止我写的最好的查询如下:db.extract_2000.group({cond:{"ResultSet.Results.quality":{$exist

mongodb - 是否可以从 map reduce 引擎的 finalize 方法更新 mongo 集合?

我试图将要更新的集合作为范围变量传递-没有骰子。我试图从终结体调用db.getCollection-没有骰子,我明白了:dbassertionfailure,assertion:'invokefailed:JSError:TypeError:dbhasnopropertiesnofile_b:18',assertionCode:9004我猜这意味着db在finalize方法中未定义。那么,这可能吗?编辑这是我的终结方法:function(key,value){functionflatten(value,collector){varitems=value;if(!(valueinstan

MongoDB 映射减少 : Not working as expected for more than 1000 records

我编写了一个mapreduce函数,其中以下列格式发出记录{userid:,{event:adduser,count:1}}{userid:,{event:login,count:1}}{userid:,{event:login,count:1}}{userid:,{event:adduser,count:1}}其中userid是键,其余是该键的值。在MapReduce函数之后,我想得到以下格式的结果{userid:,{events:[{adduser:1},{login:2}],allEventCount:3}}为了实现这一点,我编写了以下reduce函数我知道这可以通过groupb

javascript - 哪个 "kind"的 JavaScript 在 MongoDB 的 map 和/或 reduce 函数中可用?

从2.4版开始,MongoDB使用V8引擎,因此是ECMA-262第5版。当在shell中运行MapReduce作业时,有一个额外的列表supportedfunction.如果我使用nativeNode.js驱动程序来运行mapReduce作业会怎么样?我可以在map和reduce中使用任何模块或JavaScript函数吗?编辑:我现在不能做一些测试来弄清楚,但我会尽快更新问题。 最佳答案 MapReduce在MongoDB实例中运行。您现在无法使用任何其他编程语言或平台来创建MapReduce。您可以模拟我想的概念,但这意味着所有

mongodb - 是否可以重命名 Mongo 的 MapReduce 结果中的输出键?

我正在尝试使用pyMongo执行内联mapreduce操作。代码如下所示:importpymongofrombson.codeimportCodecon=pymongo.MongoClient()map_func=Code("""function(){varall=this.members.concat(this.admins)vargroup_id=this._idall.forEach(function(_id){emit(_id,[group_id])})}""")reduce_func=Code("""function(key,values){varob={};ob[key]=

php - Mongo 中的 Map Reduce,将 mongo 查询转换为 php mongo

我在mongo中有一个查询,看起来像db.Table_Name.group({"key":{"Camp":true},"initial":{"Clicks":0},"reduce":function(obj,prev){prev.Clicks=prev.Clicks+obj.Clicks-0;},"cond":{"Date":{$gte:"2012-10-26",$lte:"2012-10-28"}}});我想在php中使用这段代码。我尝试了所有可能的方法。谁能帮我解决这个问题。甚至我也跟着这个http://php.net/manual/en/mongodb.command.php请任

mongodb - 在 icCube 中创建 Mongo/mapReduce 数据源

我想在icCube中创建一个MongoDB/mapReduce数据源(http://www.iccube.com/support/documentation/user_guide/schemas_cubes/ds_mongodb.php#mapReduce),下面的脚本在Mongoshell中运行良好,当我将相同的代码粘贴到icCube中时,它应该如何格式化才能被icCube接受数据源生成器,我收到此错误消息:MongoDB:invalidJSON(table:Test.mapReduce):[varlocation_map=function(){if(this.companyId="

mongodb - 在 MongoDb 中使用 mapreduce 计算平均值

我收集了1000万条与此类似的记录。{"_id":ObjectId("596dd10bbd1a6628ace1c14c"),"X":13212,"Z":173836,"userID":9354785}用户ID是唯一的。我必须计算X的平均值和Z的总和。我可以使用以下mapReduce函数计算Z的总和varmapFunction1=function(){emit(this.userID,this.Z);};varreduceFunction1=function(){returnArray.sum(Z);};db.transaction.mapReduce(mapfunction1,redu

MongoDB 映射/减少计数

MongoDB的map/reduce输出包括类似'counts':{'input':I,'emit':E,'output':O}的内容。我以为我清楚地理解这些是什么意思,直到我遇到一个我无法解释的奇怪案例。根据我的理解,counts.input是符合条件的行数(在query中指定)。如果是这样,下面的两个查询怎么可能有不同的结果?db.mycollection.find({MY_CONDITION}).count()db.mycollection.mapReduce(SOME_MAP,SOME_REDUCE,{'query':{MY_CONDITION}}).counts.input我