Board logo

标题: mongodb mapreduce分析(1) [打印本页]

作者: look_w    时间: 2019-4-16 18:57     标题: mongodb mapreduce分析(1)

目前发现mapreduce的用法有两种:

一:计数以及实现聚合函数统计数据

二:对数据进行分组简化或者构造自己想要的格式

三:根据条件进行数据筛选



现在普遍的用法是第一种,对于第二种用法我们会分析一些格式怎么构造。



环境:

虚拟机:Oracle VM virtualbox 4.0.6

Linux:CentOS 5.6

mongovue(推荐使用,一个可视化的mongodb客户端,下载地址:http://www.mongovue.com/)



效果图

PS:如果主机和虚拟机中的linux可以相互ping通,mongovue却连接不成功,拒绝访问的话很可能是Linux中防火墙的设置问题。可以把防火墙暂时关了或者把mongodb的端口开启,方法如下:

1) 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口,

修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

1.db.runCommand(   
2.{   
3.    mapreduce : <collection>,   
4.    map : <mapfunction>,   
5.    reduce : <reducefunction>   
6.    [, query : <query filter object>]   
7.    [, sort : <sort the query.  useful   optimization>] for  
8.    [, limit : <number of objects to   from collection>] return  
9.    [, out : <output-collection name>]   
10.    [, keeptemp: < | >] true false  
11.    [, finalize : <finalizefunction>]   
12.    [, scope : <object where fields go into javascript global scope >]   
13.    [, verbose :  ] true  
14.});  


1.db.runCommand(   
2.{   
3.    mapreduce : <collection>,   
4.    map : <mapfunction>,   
5.    reduce : <reducefunction>   
6.    [, query : <query filter object>]   
7.    [, sort : <sort the query.  useful   optimization>] for  
8.    [, limit : <number of objects to   from collection>] return  
9.    [, out : <output-collection name>]   
10.    [, keeptemp: < | >] true false  
11.    [, finalize : <finalizefunction>]   
12.    [, scope : <object where fields go into javascript global scope >]   
13.    [, verbose :  ] true  
14.});




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0