日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongo-mapreduce测试(4)——avg

發(fā)布時間:2024/4/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongo-mapreduce测试(4)——avg 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

mongo-mapreduce測試(1)——count/sum/where條件

mongo-mapreduce測試(2)——列轉(zhuǎn)行與finalize函數(shù)

mongo-mapreduce測試(3)——group by having

mongo-mapreduce測試(4)——avg

mongo-mapreduce測試(5)——max/min

mongo-mapreduce測試(6)——綜合測試

mongo-mapreduce測試(7)——使用js存儲過程

mongo-mapreduce測試(8)——階段總結(jié)(1)

mongo-mapreduce測試(9)——python調(diào)用

mongo-mapreduce測試(10)——階段總結(jié)(2)

mongo-mapreduce測試(11)——跟蹤調(diào)試

測試mapreduce的avg聚合函數(shù)的實現(xiàn),類似如下SQL:

select name, avg(dic)
from tianyc_test3
group by name;

1. 測試數(shù)據(jù)如下:

> db.tianyc_test3.find()
{ "_id" : ObjectId("51258e47ff13bc6383473137"), "name" : "xtt", "dic" : 1 }
{ "_id" : ObjectId("51258e49ff13bc6383473138"), "name" : "xtt", "dic" : 2 }
{ "_id" : ObjectId("51258e4bff13bc6383473139"), "name" : "xtt", "dic" : 3 }
{ "_id" : ObjectId("51258e4eff13bc638347313a"), "name" : "xtt", "dic" : 4 }
{ "_id" : ObjectId("51258e50ff13bc638347313b"), "name" : "xtt", "dic" : 5 }
{ "_id" : ObjectId("51258e5aff13bc638347313c"), "name" : "yct", "dic" : 1 }
{ "_id" : ObjectId("51258e5cff13bc638347313d"), "name" : "yct", "dic" : 2 }
{ "_id" : ObjectId("51258e62ff13bc638347313e"), "name" : "neu", "dic" : 1 }
{ "_id" : ObjectId("51258e64ff13bc638347313f"), "name" : "neu", "dic" : 2 }
{ "_id" : ObjectId("51258e65ff13bc6383473140"), "name" : "neu", "dic" : 3 }
{ "_id" : ObjectId("51258e68ff13bc6383473141"), "name" : "neu", "dic" : 4 }

2. 編寫map函數(shù)

> var m = function(){
... emit(this.name,{dic:this.dic});
... }

3. 編寫reduce函數(shù)

> var r = function (key,values) {
... var sum = 0;
... for (var i=0; i<values.length; i++) {
... sum += values[i].dic;
... }
... return {name:key, avg: sum/values.length};
... };

4. 執(zhí)行mapreduce
> var res = db.runCommand({
... mapreduce:'tianyc_test3',
... map:m,
... reduce:r,
... out:'tianyc_mr_Result1'
... }
... )

5. 查詢結(jié)果

> db.tianyc_mr_Result1.find()
{ "_id" : "neu", "value" : { "name" : "neu", "avg" : 2.5 } }
{ "_id" : "xtt", "value" : { "name" : "xtt", "avg" : 3 } }
{ "_id" : "yct", "value" : { "name" : "yct", "avg" : 1.5 } }
>

總結(jié)

以上是生活随笔為你收集整理的mongo-mapreduce测试(4)——avg的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。