Mongodb3.0 java MapReduce实例
来源:互联网 发布:中学物理实验模拟软件 编辑:程序博客网 时间:2024/06/06 05:22
String mapFunction2 = "function() { "+
" var key = this.userid; "+
" var value = { "+
" userid: this.userid, "+
" total_time: this.length, "+
" count: 1, "+
" avg_time: 0 "+
" }; "+
" emit( key, value ); "+
" };";
String reduceFunction2 ="function(key, values) { "+
" var reducedObject = { "+
" userid: key, "+
" total_time: 0, "+
" count:0, "+
" avg_time:0 "+
" }; "+
" values.forEach( function(value) { "+
" reducedObject.total_time += value.total_time; "+
" reducedObject.count += value.count; "+
" } "+
" ); "+
" return reducedObject; "+
" };";
String finalizeFunction = "function (key, reducedValue) { "+
" if (reducedValue.count > 0) "+
" reducedValue.avg_time = reducedValue.total_time / reducedValue.count; "+
" return reducedValue; "+
"}";
MongoCursor<Document> cursor4 =database.getCollection("sessions").find().iterator();
try {
while (cursor4.hasNext()) {
System.out.println("map1-2==="+cursor4.next().toJson());
}
} finally {
cursor4.close();
}
MongoCursor<Document> cursor5 = database.getCollection("sessions").mapReduce(mapFunction2, reduceFunction2).iterator();
try {
while (cursor5.hasNext()) {
System.out.println("map1-1==="+cursor5.next().toJson());
}
} finally {
cursor5.close();
}
Document command = new Document();
command.append("mapReduce", "sessions").append("map", mapFunction2).append("reduce", reduceFunction2).append("finalize", finalizeFunction).append("out", "myMapReduce2");
Document result2 = database.runCommand(command);
System.out.println("myMapReduce2===result "+result2.toJson());
System.out.println("myMapReduce2==== "+database.getCollection("myMapReduce2").count());
System.out.println("session_stat==== "+database.getCollection("session_stat").count());
" var key = this.userid; "+
" var value = { "+
" userid: this.userid, "+
" total_time: this.length, "+
" count: 1, "+
" avg_time: 0 "+
" }; "+
" emit( key, value ); "+
" };";
String reduceFunction2 ="function(key, values) { "+
" var reducedObject = { "+
" userid: key, "+
" total_time: 0, "+
" count:0, "+
" avg_time:0 "+
" }; "+
" values.forEach( function(value) { "+
" reducedObject.total_time += value.total_time; "+
" reducedObject.count += value.count; "+
" } "+
" ); "+
" return reducedObject; "+
" };";
String finalizeFunction = "function (key, reducedValue) { "+
" if (reducedValue.count > 0) "+
" reducedValue.avg_time = reducedValue.total_time / reducedValue.count; "+
" return reducedValue; "+
"}";
MongoCursor<Document> cursor4 =database.getCollection("sessions").find().iterator();
try {
while (cursor4.hasNext()) {
System.out.println("map1-2==="+cursor4.next().toJson());
}
} finally {
cursor4.close();
}
MongoCursor<Document> cursor5 = database.getCollection("sessions").mapReduce(mapFunction2, reduceFunction2).iterator();
try {
while (cursor5.hasNext()) {
System.out.println("map1-1==="+cursor5.next().toJson());
}
} finally {
cursor5.close();
}
Document command = new Document();
command.append("mapReduce", "sessions").append("map", mapFunction2).append("reduce", reduceFunction2).append("finalize", finalizeFunction).append("out", "myMapReduce2");
Document result2 = database.runCommand(command);
System.out.println("myMapReduce2===result "+result2.toJson());
System.out.println("myMapReduce2==== "+database.getCollection("myMapReduce2").count());
System.out.println("session_stat==== "+database.getCollection("session_stat").count());
0 0
- Mongodb3.0 java MapReduce实例
- Java连接MongoDB3.0+
- java连接Mongodb3.0 用户认证
- Hadoop Mapreduce Java操作实例
- mongodb3.4-java
- 安装Mongodb3.0.6单实例
- MongoDB3.0介绍
- MongoDB3.0 新特性
- mongodb3.0安装
- centos 安装mongodb3.0
- Mongodb3.0 UserManager
- Mongodb3.0配置文件
- MongoDB3.0以上安装
- ubuntu mongodb3.0安装
- MongoDB3.0连接
- MongoDB3.0版本特性
- MongoDB3.0用户创建
- centos 安装mongodb3.0
- Android:MediaPlayer播放音频
- final关键字
- LeetCode 33 Search in Rotated Sorted Array(在旋转排序数组中搜索)(*)
- Linux GPIO驱动 - GPIO通用层
- 使用指针输出数组元素
- Mongodb3.0 java MapReduce实例
- Redis 学习笔记4-事物
- 加速开发的 5+ Android 开源网站
- 杭电1304 A Contesting Decision
- Unity3D中Update和Lateupdate的区别
- s5pv210编译安装内核初体验
- 目标跟踪 CVPR2013
- C++知识点梳理(1)
- sentos unrar 解压文件