mongoDb的mapReduce应用 外部变量使用关键部分springMVC;
2020-03-05 09:42
731 查看
long interval = 900000;
long startTime = new Date("2016/03/01 01:00:00").getTime();
long endTime = new Date("2016/03/31 23:59:59").getTime();
String tagUid=(String) arr.get(i);
Query query = Query.query(Criteria.where("TagGuid").in(tagUid));//查询过滤条件 query.addCriteria(Criteria.where("mDay").is(1));//添加过滤条件 MapReduceOptions options = MapReduceOptions.options();//设置reduce配置项 Map scope = new HashMap(); scope.put("interval", interval); scope.put("startTime", startTime); options.scopeVariables(scope).verbose(true).outputTypeInline();//mapreduce外部变量插入 String mapFunction1 = "function () {" + "var sSecond=new Date(this.Atime).getTime()," + "tag=parseInt((sSecond-startTime)/interval);" + "emit({guid:this.TagGuid,time:tag},{tagUid:this.TagGuid,atime:this.Atime,value:this.TagValue,year:this.mYear,month:this.mMonth,day:this.mDay,seeId:this.SeeID})}";//map方法编写 String reduceFunction = "function(key,values){ return values[0];} ";//reduce方法编写 MapReduceResults<ReturnMessage> result = mongoTemplate.mapReduce(query, "Hdata03", mapFunction1, reduceFunction,options, ReturnMessage.class);//方法调用 Iterator<ReturnMessage> it = result.iterator();//得到结果 long p=0; while (it.hasNext()) { ReturnMessage message = it.next();//自定义实体类容器 String key=(String) JSONObject.fromObject(message.getId()).get("guid"); String insertSql="INSERT INTO t_base_data (data) VALUES ('"+message.getValue()+"')";//插入postgresql baseDao.updateBySql(insertSql); }
最后插入postgesql做了循环插入 很不科学,浪费大量时间;
主要演示了一个mapreduce全局变量的使用;
其他循环只是测试用的,有点累赘;可以不看;
转载于:https://www.cnblogs.com/xiaomurunning/p/7448569.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 易趣:使用MongoDB创建关键业务的多数据中心应用
- 第二部分:使用Jasperreport作为报表控件开发胖客户端报表应用
- Lex和Yacc应用教程(三).使用变量
- 输入一段文本,求最长行(前后两个换行符之间的句子),底下特别版使用外部变量 [ 来自C程序书,小有变动 ]
- 为 PHP 应用提速、提速、再提速!,第 1 部分: 使用操作码缓存软件提升性能和吞吐量
- 1-16使用外部变量
- C语言外部变量(extern)的使用
- 基于.net mvc的校友录(六、codefirst的使用以及班级模块的关键部分实现)
- 为 PHP 应用提速、提速、再提速!,第 1 部分: 使用操作码缓存软件提升性能和吞吐量
- 使用 Apache OpenJPA 开发 EJB 3.0 应用,第 5 部分: 实体标识的自动生成
- tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
- 使用 Apache OpenJPA 开发 EJB 3.0 应用,第 4 部分: 实体关联
- java:Mongodb 分组统计应用group的使用(含场景)
- 如何创建一个类似 Instagram 的使用 Web Service 作后台的应用 第二部分
- sed当中使用变量替换以及执行外部命令
- PHP自定义函数使用外部变量
- ArcGIS中应用Expressions标注(Label)之二—使用外部数据库中数据标注要素
- Silverlight 中文教程第八部分:使用WPF创建一个Digg桌面应用
- Silverlight教程第八部分:使用WPF创建一个Digg桌面应用
- 使用脚本编写 Vim 编辑器,第 1 部分: 变量、值和表达式