开发者社区> 问答> 正文

大数据量下MapReduce取代GroupBy

MongoDB中的MapReduce其实更类似关系型数据库中的GroupBy 。
对于大数据量的GroupBy(MapReduce)还是比较理想的,生成100W条3位随机字符串。
如何测?

展开
收起
落地花开啦 2016-02-18 10:38:18 2641 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    做个测验,你参考参考
    5
    然后进行对相同的随机数取Count数 所以必须GroupBy
    var m = function(){emit(this.v1,{count:1}); }; //map key类似关系型数据的group by 第二个是value 就是要进行聚合的字段(sum...)

    var r = function (key,values) { var total = 0;for (var i=0; i<values.length; i++) { total += values[i].count;     } return {count : total}; };. //reduce  
    var res = db.RandomNum.mapReduce(m, r, {out:{replace:'Result'}});  
    db[res.result].find()  

    测试了下时间:

    var startTime = new Date();  
    var m = function(){emit(this.v1,{count:1}); };    
    var r = function (key,values) { var total = 0;for (var i=0; i<values.length; i++) { total += values[i].count; } return {count : total}; };     
    var res = db.RandomNum.mapReduce(m, r, {out:{replace:'Result'}});    
    db[res.result].find()    
    (new Date().getTime()-startTime.getTime())/1000  

    结果如下:
    6
    测试机的性能:
    7

    2019-07-17 18:43:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data+AI时代大数据平台应该如何建设 立即下载
大数据AI一体化的解读 立即下载
极氪大数据 Serverless 应用实践 立即下载