首页 > 代码库 > MongoDB 聚合之 MapReduce
MongoDB 聚合之 MapReduce
理解聚合
在关系型数据库中,聚合是根据数据记录的某个字段对数据记录进行合并。比如需要从订单明细表统计每个订单的金额,通常需要经过下面几个步骤:
- 从订单明细表提取每条记录的订单号和金额;
- 根据订单号对金额分组,使每组金额具有相同的订单号;
- 对每组金额进行求和运算,结果按 订单号-总金额 格式返回;
理解 MapReduce
在 MapReduce 中,map 函数所做的包括了上述过程的前两步,其中 emit 函数负责第一步的实现。map 函数最终返回的结果是多个 Key-Values 集合,注意:这里一个键对应多个值,也就是前面说的一个订单号对应多个金额。
接下来,map 的返回值作为 reduce 函数的参数,由 reduce 对每组数据进行合并,也就是上述过程的第三步求和。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。