MongoDB MapReduce java使用

MongoDB中的MapReduce简介 MongoDB MapReduce MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间。 上面是MapReduce的理论部分,下面说实际的应用,下面以MongoDB MapReduce为例说明。 下面是MongoDB官方的一个例子: 代码如下: > db.things.insert( { _id : 1, tags : [‘dog’, ‘cat’] } ); > db.things.insert( { _id : 2, tags 立即下载
package jp.chakra.lotus.luence;

import com.mongodb.*;
import org.apache.commons.lang3.RandomStringUtils;

/**
 * Created with IntelliJ IDEA.
 * Date: 5/1/14
 * Time: 2:46 PM
 * To change this template use File | Settings | File Templates.
 */
public class MongoMain {

    public static void main(String[] ags){

        try{
            Mongo mongo = new MongoClient("localhost", 27017);
            DB db = mongo.getDB("search");
            DBCollection dbCollection = db.getCollection("mapIndex");
            
            //如果name不进行index,后面无法对其sort的
            dbCollection.ensureIndex(new BasicDBObject("name",1));
            
            //保存数据
            for(int i =0 ; i< 10; i++){

                DBObject object = new BasicDBObject();
                object.put("name","li" + i);
                object.put("age", Long.valueOf(RandomStringUtils.randomNumeric(2)));
                object.put("uid", Long.valueOf(RandomStringUtils.randomNumeric(2)));
                dbCollection.save(object);
            }

            //mr
            mapreducd(dbCollection);


        }catch (Exception e){
            e.printStackTrace();
        }

    }

    private static void  mapreducd(DBCollection dbCollection){

        String map = "function() { "+
                "emit(this.name, {sum1:1,sum2:this.age,sum3:this.uid});}";

        String reduce = "function(key, values) { " +
                " var result =  {sum1:0, sum2:0,sum3:0}\n" +
                "         values.forEach(function(value) {\n" +
                "         result.sum1 += value.sum1;\n" +
                "         result.sum2  += value.sum2;\n" +
                "         result.sum3  += value.sum3;\n" +
                "    });\n" +
                "     return result;" +
                "} ";

        //REPLACE表示将结果写入到resTable表里面 
        MapReduceCommand cmd = new MapReduceCommand(dbCollection, map, reduce,
                "resTable", MapReduceCommand.OutputType.REPLACE, null);
        
        //对结果再次整理  可以不用
        cmd.setFinalize("function(key,value){\n" +
                "    return {classid:key,count:value}\n" +
                "}");
        //map前sort 可以不用
        cmd.setSort(new BasicDBObject("name",-1));
        //限制数量
        cmd.setLimit(12);
        MapReduceOutput out = dbCollection.mapReduce(cmd);

        
        //out.results是无法直接对结果进行排序的,所以如果想对结果拍寻,只能通过 REPLACE,写入数据库,再查找排序 
        for (DBObject o : out.results()) {
            System.out.println(out.toString());
        }

        //对结果的结果进行排序
        DBCursor cursor = out.getOutputCollection().find().sort(new BasicDBObject("value.sum3",1));
        while (cursor.hasNext()){
            System.out.println(cursor.next().toString());
        }
        
    }
}


Mongodb中MapReduce实现数据聚合方法详解 Mongodb是针对大数据量环境下诞生的用于保存大数据量的非关系型数据库,针对大量的数据。接下来通过本文给大家介绍Mongodb中MapReduce实现数据聚合方法详解,感兴趣的朋友一起学习吧 立即下载

相关推荐

ASPP - 空洞空间金字塔池化

文章目录1 空洞卷积1.1 空洞卷积的理解1.1.1 一维1.1.2 二维1.2 空洞卷积的优劣2. ASPP3. 代码 1 空洞卷积 1.1 空洞卷积的理解 1.1.1 一维 (a) 正常卷积:输入特征 Input feature,kernel = 3,stride = 1,pad = 1,输出特征 Output feature。 (b) 空洞卷积:与图 (a) 不同之处在于 pad = 2,同时引入一个 rate = 2(表示卷积核中参数间间隔的超参)。   还可通过下图进一步理解普通卷积与空洞卷

晓野豬 2万+

打算用mongodb mapreduce之前一定要知道的事!!!

mapreduce其实是分批处理数据的,每一百次重新reduce处理,所以到reduce里的数据如果是101条,那就会分2次进入。 这导致的问题就是在reduce中 如果 初始化 var count = 0;在循环中count++,最后输出的是1??? 避免都方法是,把数据存在返回的value里,这个value是会在循环进入reduce的时候重用的。在循环中count += value...

weixin_30379531的博客 209

Matlab实战:用DQN算法让机器人学会自主避障(附完整代码)

本文详细介绍了如何使用Matlab实现DQN(深度Q网络)算法,使机器人在复杂环境中学会自主避障。通过环境建模、网络架构设计、奖励函数优化及实战调试,提供了完整的代码实现和训练策略,帮助开发者快速应用于机器人路径规划项目。

t8u9v0w1x的博客 232

mongo java mapreduce_mongoDB实现MapReduce

一、MongoDB Map ReduceMap-Reduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。基本语法:db.collection.mapReduce(function() {emit(key,value);},//map 函数functi...

weixin_31509753的博客 352

本地部署DeepSeek连接MATLAB:打造私有化AI编程助手全攻略

大型语言模型(LLM)通过理解自然语言生成代码、解释技术概念,其核心原理是基于海量数据训练的Transformer架构。这项技术为工程计算和数据分析带来了效率革命,尤其在代码生成、调试辅助和文档自动化等场景价值显著。开源模型如DeepSeek-coder凭借优秀的代码理解能力,结合Ollama提供的本地化部署方案,实现了完全离线、低延迟的私有化部署。通过配置国内镜像加速下载,并利用MATLAB内置的HTTP通信函数构造API请求,工程师可以在熟悉的MATLAB环境中直接调用本地模型,处理数据清洗、算法验证等

weixin_30239339的博客 518

Linux环境下OpenSSH升级到 OpenSSH_9.8p1(内置保姆级教程并包含openssl升级过程)

2024年7月1日接到安全部门同事邮件通知,目前生产环境及测试环境服务器Openssh存在远程代码执行漏洞(CVE-2024-6387),漏洞等级高,且攻击者可以成功利用该漏洞获得远程root shell最高权限从而执行任意代码及命令,主要受影响版本为8.5p1

菜鸟运维升级之路 2万+

mongo java mapreduce_MongoDB中MapReduce介绍与使用

一、简介在用MongoDB查询返回的数据量很大的情况下,做一些比较复杂的统计和聚合操作做花费的时间很长的时候,可以用MongoDB中的MapReduce进行实现MapReduce是个非常灵活和强大的数据聚合工具。它的好处是可以把一个聚合任务分解为多个小的任务,分配到多服务器上并行处理。MongoDB也提供了MapReduce,当然查询语肯定是JavaScript。MongoDB中的MapReduc...

weixin_31720909的博客 654

用户消费行为分析(MapReduce实现,Hive分析)

一、题目要求 数据来自CDNow网站的一份用户购买CD明细,本数据集共有 6 万条 左右数据,数据为 CDNow 网站 1997年1月至1998年6月的用户行为 数据

紫烟的博客 3013

java操作mongodb mapreduce

最近有一个需求:需要通过mongodb某一个字段来分组统计其它几个字段的数量,因为这是要更新线上千万以上的数据量,所以需要同时更新到mysql表中,而尽量不让延迟:代码如下: package com.lifeix; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStat

jiangfullll的专栏 5404

高创伺服的龙门调试经历2

摘要:本文介绍了高创伺服在龙门控制中的配置方法。首先通过ServoStudio2连接驱动器并命名区分主从轴(MASTER/DIFF),然后设置接口模式、23位编码器参数及极限位置。重点说明龙门模式的三项关键参数设置(gantryfbenmode=1、gantrymode=1/2)和连线状态确认。建议单轴自动整定后调整从轴增益(如0.2),并强调带刹车电机的同步控制要点:刹车线需接同一继电器由主轴控制,避免位置偏差。

wzz418550729的博客 911

YOLOv11 损失函数进阶:Varifocal Loss 让正负样本精度双升

创建self.alpha = alpha # 正样本权重系数self.gamma = gamma # 聚焦系数self.lambda_reg = lambda_reg # 回归损失权重# 分类损失:Varifocal Classification Loss# 正样本权重:基于预测置信度# 计算 BCE 损失并加权cls_loss = cls_loss.sum() / (cls_true.sum() + 1e-6) # 按正样本数归一化。

m0_71589036的博客 441

mongo mapreduce java_MongoDB中MapReduce编程模型使用实例

注:作者使用的MongoDB为2.4.7版本。单词计数示例:插入用于单词计数的数据:db.data.insert({sentence:'Consider the following map-reduce operations on a collection orders that contains documents of the following prototype'})db.data.ins...

weixin_33147645的博客 280

【DRAM存储器六十一】LPDDR5介绍--LPDDR5/5X/4/4X IO结构

简述LPDDR5/5X/4/4X IO结构及等效电路下的VREF理论值计算

highman110的博客 483

mongo java mapreduce_Mongodb mapreduce java 操作

mongodb数据库中数据一览: 有多条个cust_id数据,现统计cust_id为abc124用户items下sl为0.17和0.13分别的总和是多少java代码如下:MongoClient mongoClient = new MongoClient("192.168.1.45", 27017);MongoCollection mongoCollection = mongoClient.getD...

weixin_39628247的博客 307

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

mongo java mapreduce_MongoDB JAVA-API执行mapreduce的几种方法

1> db.version();21.6.31mongodb-2.0.jar0105db.runCommand(06{07mapreduce : ,08map : ,09reduce : 10[, query : ]11[, sort : ]for12[, limit : ]return13[, out : ]14[, keeptemp: < | >]true false15[,...

weixin_33474462的博客 217

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

mongo mapreduce java_那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。

1.[代码]那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。package com.zuidaima.mongodb.test.main;import java.net.UnknownHostException;import java.text.SimpleDateFormat;import java.util.Calendar;import java...

weixin_39682560的博客 139

java mongo mapreduce_MongoDB JAVA-API执行mapreduce的几种方法

> db.version();1.6.3mongodb-2.0.jardb.runCommand({mapreduce : ,map : ,reduce : [, query : ][, sort : ] for[, limit : ] return[, out : ][, keeptemp: < | >] true false[, finalize : ][, scope : ...

weixin_42109639的博客 134

Mongodb mapreduce java 操作

mongodb数据库中数据一览: 有多条个cust_id数据,现统计cust_id为abc124用户items下sl为0.17和0.13分别的总和是多少 java代码如下: MongoClient mongoClient = new MongoClient("192.168.1.45...

chixian4839的博客 189

那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。

原文:那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。 代码下载地址:http://www.zuidaima.com/share/1550463227890688.htm 我想统计下每个月某个视频的播放量,需要跨日表去mapreduce。 ...

云淡风轻、仅此一抹 181

mongo java mapreduce_MongoDB中MapReduce使用

玩过Hadoop的小伙伴对MapReduce应该不陌生,MapReduce的强大且灵活,它可以将一个大问题拆分为多个小问题,将各个小问题发送到不同的机器上去处理,所有的机器都完成计算后,再将计算结果合并为一个完整的解决方案,这就是所谓的分布式计算。本文我们就来看看MongoDB中MapReduce的使用。本文是MongoDB系列的第十四篇文章,了解前面的文章有助于更好的理解本文:mapReduce...

weixin_36086032的博客 212

Mongodb3.0 java MapReduce实例

String mapFunction2 = "function() {  "+                       " var key = this.userid;  "+                       " var value = {  "+                                    "  userid: this.userid, "+  

大鱼的专栏 1547

MongoDB JAVA-API执行mapreduce的几种方法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34212189的博客 253

mongo java mapreduce_MongoDB中的MapReduce简介

MongoDB MapReduceMapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间。上面是MapReduce的理论部分,下面说实际的应用,下面以MongoDB MapReduce为例说明。下面是MongoDB官方的一个例子:> ...

weixin_39705931的博客 261

java mongo mapreduce_MongoDB中MapReduce的使用方法详解

前言玩过Hadoop的小伙伴对MapReduce应该不陌生,MapReduce的强大且灵活,它可以将一个大问题拆分为多个小问题,将各个小问题发送到不同的机器上去处理,所有的机器都完成计算后,再将计算结果合并为一个完整的解决方案,这就是所谓的分布式计算。本文我们就来看看MongoDB中MapReduce的使用。打算用mongodb mapreduce之前一定要知道的事!!!mapreduce其实是分...

weixin_36109676的博客 561
上一篇: install phpstorm xdebug on mac
下一篇: 10gen工程师谈MongoDB组合索引的优化
悟空在此
博客等级 码龄21年 14粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值