日期:2014-05-16 浏览次数:20558 次
一、简单聚合工具
1、count
count是最简单的聚合工具,用于返回集合中文档的数量。
2、distinct
distinct和其他数据库的语义是相同的,用于找到给定键的所有不同的值,即去重。
二、复杂聚合工具
1、group
group和SQL中的group by类似,用于分组。
group聚合可以使用condition过滤返回的文档,使用完成器finalizer精简返回的数据。
2、MapReduce
MapReduce是一种编程模型,通过将任务分解到不同的机器上,让每台机器完成一部分。当所有机器都完成的时候,再将结果汇集起来形成最终完整的结果,常用于分布式计算中。
MapReduce其实由两部分组成,一个map函数,一个reduce函数。
map:映射,将操作映射到集合中的每个文档,中间会调用emit(key,value)集合会按照指定的key进行映射分组。
reduce:化简,对map分组后的数据进行简化。
注:由于MapReduce处理速度慢,不能在实时环境中使用。可以使用后台任务运行MapReduce,然后对映射化简后的集合进行实时查询。MapReduce常用于离线处理。