[MongoDB]mapReduce

來源:互聯網
上載者:User

標籤:

摘要

上篇文章介紹了count,group,distinct幾個簡單的彙總操作,其中,group比較麻煩一點。本篇文章將學習mapReduce的相關內容。

相關文章

[MongoDB]入門操作

[MongoDB]增刪改查

[MongoDB]count,gourp,distinct

bat

今天突然發現,每次開啟mongodb服務端和用戶端,太頻繁了。所以想了一個辦法,把它們弄成批處理命令了。

開啟server

@echo offstart cmd /k "cd/d C:\Program Files\MongoDB\Server\3.2\bin&&mongod"

執行後

啟動client

@echo offstart cmd /k "cd/d C:\Program Files\MongoDB\Server\3.2\bin&&mongo"

執行後

這裡一個小插曲,有些事情,重複做沒必要,能省力就省力了。當然有些mongodb可視化用戶端工具,更方便。之後將介紹幾款常用的工具。

mapReduce

MapReduce這個函數,也是彙總函式的一種,為什麼把它單獨的列出來,就因為它太複雜了跟group有的一拼。

其實該函數也比較容易記,因為它有兩個參數,一個是map,另一個就是Reduce

map

映射函數,在該函數中會調用emit(key,value),集合會按照你指定的key進行映射分組。

reduce

簡化函數,會對map分組後的資料進行分組簡化,reduce(key,value)中的key就是emit中的key,vlaue為emit分組後的emit(value)的集合。

result:存入的集合名稱。

input:傳入的document的個數。

reduce:此函數被調用的次數。

emit:此函數被調用的次數。

output:輸出的結果個數。

然後就可以在result上面進行查詢按name分組後的結果了。

關於cmd中輸入命令換行的問題,這裡也簡單的介紹一下,比如上面的map和reduce函數非常長,那麼我們可以進行換行進行輸入,技巧:輸入的時候,不要輸入結束符號就可以,比如function的結束符號為},只要不輸人},斷行符號的時候,會列印...,這個時候你可以接著輸入。

我們通過換行進行上面的mapReduce操作。

這樣看著更舒服了。

總結

關於mapReduce的內容,非常多,這裡只是列舉了mapReduce的使用方法。更多的內容可以參考下面的文章

MapReduce百度百科

http://www.cnblogs.com/daizhj/archive/2010/06/10/1755761.html

http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html

http://www.cnblogs.com/loogn/archive/2012/02/09/2344054.html

[MongoDB]mapReduce

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.