MongoDB Tutorial: MapReduce
I don’t consider myself the right person to write detailed tutorials as I usually tend to omit a lot of details . But I’d like to try out a different approach: I’ll share with you the best materials I have found and used myself to learn about a specific feature. Please do let me know if you’ll find this approach useful.Today will take a look at MongoDB MapReduce. As is normal (at least for making sure that we are getting rid of all future RTFM advice) we will start with the ☞ official documents. In MongoDB MapReduce case, the official documentation will provide us with details about:
[*]the complete command syntax
[*]specs for map and reduce functions
[*]as a bonus a couple of basic examples
There are also a couple of important aspects that you’ll have to keep in mind while implementing your own MongoDB MapReduce functions:
[*]The MapReduce engine may invoke reduce functions iteratively; thus, these functions must be idempotent. That is, the following must hold for your reduce function: for all k,vals : reduce( k, ) == reduce(k,vals)
[*]Currently, the return value from a reduce function cannot be an array (it’s typically an object or a number).
[*]If you need to perform an operation only once, use a finalize function.
Knowing the basics, what I’ve found to work well for me was to take a look at a simple but close to real life example. In this case I have chosen the ☞ following piece of code which implements a basic text search.
I have also found very useful to take a look at how SQL translates to MapReduce in MongoDB.
Just to make sure that I got things straight by now, I used the 3rd part of Kyle Banker’sMongoDB aggregation tutorial: MapReduce basics.
The last step in learning about MapReduce in MongoDB was to take a look at some real usecases. Depending on your programming language preference, I’d recommend one of these two MongoDB MapReduce usecases:
[*]Ruby: Visualizing log files with MongoDB, MapReduce, Ruby & Google Charts: ☞ part 1and ☞ part 2
[*]Perl: Using MongoDB and MapReduce on Apache Access Logs ☞
Summarizing our short tutorial on MongoDB MapReduce:
[*]☞ official documents
[*]☞ Basic text search example
[*]Translate SQL to MongoDB MapReduce
[*]MongoDB aggregation tutorial: MapReduce basics
[*]MongoDB MapReduce Usecases:
[*]Visualizing log files with MongoDB, MapReduce, Ruby & Google Charts: ☞ part 1and ☞ part 2
[*]Using MongoDB and MapReduce on Apache Access Logs ☞
In case you have other materials on MongoDB MapReduce that you consider essential please share them with us!
转载自:MongoDB Tutorial: MapReduce
页:
[1]