zoukankan      html  css  js  c++  java
  • mongodb mapreduce学习

    for( var i = 1; i < 10001; i++){
     db.students.insert({classid:i%400, age:i%100, name:'Tom'+i})
    }
    db.students.insert({classid:1, age:14, name:'Tom'})
    db.students.insert({classid:1, age:12, name:'Jacky'})
    db.students.insert({classid:2, age:16, name:'Lily'})
    db.students.insert({classid:2, age:9, name:'Tony'})
    db.students.insert({classid:2, age:19, name:'Harry'})
    db.students.insert({classid:2, age:13, name:'Vincent'})
    db.students.insert({classid:1, age:14, name:'Bill'})
    db.students.insert({classid:2, age:17, name:'Bruce'})


    m = function() {
        emit(this.classid, 1) 
    }


    r = function(key, values) {
         var x = 0;
         values.forEach(
            function(v) { x += v }
         );
        return x;
     }

     res = db.runCommand({
        mapreduce:"students",
         map:m,
        reduce:r,
        out:"students_res"
     });

    db.students_res.find()

    m = function() {
        emit(this.classid, {cnt:1,name:this.name}) 
    }


    r = function(key, values) {
         var x = 0;
         var names="";
         values.forEach(
            function(v)
            {
                x += v.cnt;
                names+=v.name;
            }
         );
        return {classid:key,cnt:x,names:names};
     }

     res = db.runCommand({
        mapreduce:"students",
         map:m,
        reduce:r,
        out:"students_res"
     });

    db.students_res.find()

    f = function(key, value) { return {classid:key, count:value}; }

    res = db.runCommand({
        mapreduce:"students",
        map:m,
        reduce:r,
        out:"students_res",
        finalize:f
    });

    db.students_res.find()

    res = db.runCommand({
         mapreduce:"students",
         map:m,
         reduce:r,
         out:"students_res",
         finalize:f,
         query:{age:{$lt:10}}
     });

    db.students_res.find()
  • 相关阅读:
    周鸿祎笔录
    set multiset 集合实现众数的统计
    栈实现 汉诺塔 操作是否符合规范
    优先队列----解决排序问题
    字符串的应用(续一)
    优先队列 的实例(未完----待续)
    字符串的应用
    栈实现括号
    Jave垃圾回收算法
    Java 按代回收垃圾以及回收算法
  • 原文地址:https://www.cnblogs.com/cxd4321/p/2507779.html
Copyright © 2011-2022 走看看