MAPREDUCE basics: Difference between revisions
From NoSQLZoo
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
pp = pprint.PrettyPrinter(indent=4) | pp = pprint.PrettyPrinter(indent=4) | ||
</pre> | </pre> | ||
==MapReduce the basics== | |||
<p>This tutorial introduces the <code>MapReduce</code> command.</p> | |||
[[MapReduce]] examples are available. | |||
<div class='extra_space' style='width:1em; height:6em;'></div> | |||
<div class=q data-lang="py3"> | <div class=q data-lang="py3"> | ||
Line 44: | Line 49: | ||
temp = db.world.map_reduce(map=Code("function(){emit(this.continent, this.name)}"), reduce=Code("function(key, values){return values.length}"),out={"inline":1}) | temp = db.world.map_reduce(map=Code("function(){emit(this.continent, this.name)}"), reduce=Code("function(key, values){return values.length}"),out={"inline":1}) | ||
pp.pprint(temp["results"]) | pp.pprint(temp["results"]) | ||
</div> | |||
</div> | |||
<div class=q data-lang="py3"> | |||
<p class=strong>Show the smallest 3 countries (ignore areas of 0 or None)</p> | |||
<pre class=def> | |||
</pre> | |||
<div class=ans> | |||
from bson.code import Code | |||
temp = db.world.map_reduce( | |||
query={"$and":[{"area":{"$ne":None}}, {"area":{"$ne":0}}]}, | |||
sort={"area":1}, | |||
limit=3, | |||
map=Code("function(){emit(this.name, this.area)}"), | |||
reduce=Code("function(key, values){}"), | |||
out={"inline":1}, | |||
) | |||
pp.pprint( | |||
temp["results"] | |||
) | |||
</div> | </div> | ||
</div> | </div> |
Revision as of 15:11, 29 July 2015
#ENCODING import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-16') #MONGO from pymongo import MongoClient client = MongoClient() client.progzoo.authenticate('scott','tiger') db = client['progzoo'] #PRETTY import pprint pp = pprint.PrettyPrinter(indent=4)
MapReduce the basics
This tutorial introduces the MapReduce
command.
MapReduce examples are available.
Show a list of countries found in North America
from bson.code import Code temp = db.world.map_reduce( query={"continent":"Africa"}, map=Code("function(){emit(this.continent, this.name)}"), reduce=Code("function(key, values){return values.toString()}"), out={"inline":1} ) pp.pprint( temp["results"] )
from bson.code import Code temp = db.world.map_reduce(query={"continent":"North America"},map=Code("function(){emit(this.continent, this.name)}"), reduce=Code("function(key, values){return values.toString()}"),out={"inline":1},) pp.pprint(temp["results"])
Show the number of countries on each continent
from bson.code import Code temp = db.world.map_reduce(map=Code("function(){emit(this.continent, this.name)}"), reduce=Code("function(key, values){return values.length}"),out={"inline":1}) pp.pprint(temp["results"])
Show the smallest 3 countries (ignore areas of 0 or None)
from bson.code import Code temp = db.world.map_reduce(
query={"$and":[{"area":{"$ne":None}}, {"area":{"$ne":0}}]}, sort={"area":1}, limit=3, map=Code("function(){emit(this.name, this.area)}"), reduce=Code("function(key, values){}"), out={"inline":1},
)
pp.pprint(
temp["results"]
)