zoukankan      html  css  js  c++  java
  • mongdb mapReduce聚合操作

    1、数据准备

    请看group操作

    2、mapReduce名词解释

    mapReduce 随着"大数据"概念而流行.其实mapReduce的概念非常简单,从功能上说,相当于RDBMS的 group 操作
    
    mapReduce的真正强项在哪?
    答:在于分布式,当数据非常大时,像google,有N多数据中心,数据都不在地球的一端,用group力所不及.
    
    group既然不支持分布式,单台服务器的运算能力必然是有限的.而mapRecuce支持分布式,支持大量的服务器同时工作,用蛮力来统计.
    
    mapRecuce的工作过程:
      map-->映射
      reduce->归约
    
    map: 先是把属于同一个组的数据,映射到一个数组上.cat_id-3 [23,2,6,7]
    reduce: 把数组(同一组)的数据,进行运算.

    3、mapReduce实操

    1、用mapReduce计算每个栏目的库存总量
    map函数
    var map = function() {
        emit(this.cat_id,this.goods_number);
        }
    var reduce = function(cat_id,numbers) {
        return Array.sum(numbers);
    }
    db.goods.mapReduce(map,reduce,{out:'res'});
    
    2、用mapReduce计算每个栏目下商品的平均价格
    var map = function() {
        emit(this.cat_id,this.shop_price);
        }
    var reduce = function(cat_id,values) {
        return Array.avg(values);
    }
    db.goods.mapReduce(map,reduce,{out:'res'});

     mapReduce详细解析可以查看:https://www.cnblogs.com/chenpingzhao/p/7913247.html

  • 相关阅读:
    1. Two Sum
    100. Same Tree
    101. Symmetric Tree
    103. Binary Tree Zigzag Level Order Traversal
    102. Binary Tree Level Order Traversal
    STL的一些技巧函数使用
    104. Maximum Depth of Binary Tree
    apache开源项目--solr
    apache开源项目--HBase
    apache开源项目--ZooKeeper
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10230146.html
Copyright © 2011-2022 走看看