java mongo MapReduce

来源:互联网 发布:gov.cn域名代注册 编辑:程序博客网 时间:2024/06/06 06:59
//Map过程,通过emit函数实现,第一个参数表示用于分组的字段,    //第二个参数表示分组字段所对应的值    String map="function() {" +       "emit(this.期刊," +        "{count: 1, ref: this.参考文献}); " +       "}";    //Reduce过程,遍历values,填充相应业务逻辑。    String reduce="function(key, values) {" +    "var reduced = {articlecount:0, refcount:0};" +    "values.forEach(function(val) {" +    "for(var r in val.ref)" +    "reduced.refcount  += 1;" +    "reduced.articlecount += 1; });" +    "return reduced;}";    //Finalize过程,针对MapRecuce结果,填充相应业务逻辑。    String finalize = "function(key, reduced) " +    "{reduced.avgRefcount = reduced.refcount / reduced.articlecount;" +    "return reduced;}";    MapReduceCommand cmd = new MapReduceCommand(table , map, reduce,      null, MapReduceCommand.OutputType.INLINE, null);    cmd.setFinalize(finalize);    MapReduceOutput out = table.mapReduce(cmd);

原创粉丝点击