Wednesday, December 29, 2010

Debugging MapReduce in MongoDB

On a project that I am working on, we are doing some pretty intense MapReduce work inside of MongoDB. One of the things we've run up against is the lack of solid debugging tools. Some Googling basically tells you that print() is all you've got.

We've decided to take a different approach and debug our MapReduce code in the browser. Since the code is JavaScript and modern browsers have really excellent support for debugging (breakpoints, variable inspection, etc.) it's pretty easy to do.

All you need is a web app (or even static HTML file) that will:

  1. Load up one of your documents that you would like to map in the browser. Since the documents are JSON, this is easy. In our project, we have JSON fixture files and a small web app that allows you to choose which fixture to use for testing.
  2. Mock the emit() method. You can just have it write to a Hash that you can inspect later.
  3. Load up the Map and Reduce functions. If you keep these in separate .js files, you can pull them in with a simple script tag.
  4. Bind the map function to the document so that it has the correct context. In a MongoDB mapper function "this" is set to the document that you are mapping. You can easily do this with the bind() function in Underscore.js. I'm sure that other JavaScript frameworks provide a similar function.
  5. Put a link on the page that will let you run the bound function.
This will emulate the MongoDB MapReduce environment, but you can now use the browser's debugging tools.

61 comments:

Angelo said...

Hi Andy,

Many thank's for your great idea and article.
I have decided to implement your idea in the Mongo MapReduce WebBrowser project.

You can play with it with the live demo.

Hope you will like it.

Regards Angelo

Unknown said...

To tell the certainty this is a kind post concerning this topic. I got an unpolluted solution from here. Also I can refer to you all www.hwsolvers.com/programming_project here to get educational helps. However will wait for more posts from the blogger. Thanks a lot…….

Unknown said...

Such interesting theme. http://www.online-essay-writer.org/ I like it.

Unknown said...

Very Interesting Nichols story Thanks for nice done :)

Unknown said...

Thanks for the amazing content on your blog I am very interested in this article and you have really helped me. I have just told a few of my friends about this on FaceBook and they love your content just as much as I do. ibcbet, judi bola, sbobet, agen bola, ibcbet, sbobet

Unknown said...

If you'd want to use on-line associated speed up the tactic even faster you will be able to fill out AN application presently and easily hit “send” auto title loans chicago. one among our enticing loan specialists will call you back shortly and assist you finalize your loan. As shortly as you pay off your automotive title loan, we've an inclination to send your title right back to you. start.

Unknown said...


This is the foremost bit I even have glimpsed you’re cozy and do favour to broadcast you – it's actually fastidious to glimpse that i absorb your powerful paid work. whereas if you anticipated did it terribly} clear-cut kind which will be terribly persuading fast auto title loan. whereas over all I unquestionably planned you and clear in your brain can gaze ahead to extra mails like this. Thanks most.

Unknown said...

Nice post and informative one.Awesome ideas are post. Friv | Friv 1 | Friv 3

Vladimir Petriko said...

I've implemented a simple opensource online tool based on this idea. You can get a final MapReduce results or go and debug Map / Reduce / Finalize functions step-by-step right in your browser.

Will appreciate a comments / critic / requests.

http://targetprocess.github.io/mongo-mapreduce-debug-online/

Unknown said...

I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post. Hats off to you! The information that you have provided is very helpful. Agen Bola

Unknown said...

A very awesome blog post. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. I was exactly searching for. Thanks for such post and please keep it up. Great work. Agen Sbobet

Unknown said...

Great! Thanks for sharing the information. That is very helpful for increasing my knowledge in this field.
pacman |happy wheels |my little pony games | unblocked games
friv4 kizi 4| unblockedgames unblocked games for kids

marko said...

We have to acquire money from any accessible source. Individual money credit is such a source which helps in giving money to these needs. https://www.aaa1autotitleloans.com/chicago

Unknown said...

I understand what you bring it very meaningful and useful, thanks.
Signature:
download free descargar whatsapp and download baixar whatsapp online and descargar whatsapp gratis , baixar whatsapp gratis

marko said...

The organization you choose to manage for the least expensive auto advance rates ought to have an advance frame that is easy to round out, with a without toll telephone number promptly available on the off chance that you have any extra inquiries. usacheckcashingstore.com/costa-mesa

marko said...

Their issues in taking a credit for auto raise additionally on the grounds that they don't claim a property to take an advance against. Moneylenders have in this way composed new auto credits for inhabitant. The advance is given in an obstacle free way to occupants or non-property holders. check cashing nearer in fresno ca

Unknown said...

I was working and suddenly I visits your site frequently and recommended it to me to read also. The writing style is superior and the content is relevant. Thanks for the insight you provide the readers!
Signature:
Versión en facebook en español descargar a los países hablan Español: facebook entrar direto agora , facebook en español descargar , facebook entrar direto agora

Unknown said...

I am very happy to read this. Appreciate your sharing
juegos.com
juegos de matar
jogos friv

Unknown said...

I just wanted to thank you for the information, it really necessary and timely for me at this time. Career choices are not merely looking for a job offer income because sometimes it will affect your whole life later. With many new people looking for work often go to work simply how to get a job matching capabilities, can provide income to cover life. The demand for employment as soon as possible sometimes make quick decisions and they forgot that profession is not simply what they do, but also can be an important crossroads in life.!
G9 , Dora Games , Kizi new , Huz 2 , Kizi 2 , Friv 4 School , 85 Play , 4223 Games , 85 Games

Unknown said...

The enactment of a additional authority in Constantinople (modern Istanbul) in 306 AD by the Emperor Constantine gave Rome admission to the abundance of Byzantium, and facilitated the bogus of added gold in the anatomy of bezants which rapidly fabricated their way westward beyond the absolute affable world.
cash advance loans in fresno ca

Unknown said...

They would abide to be acclimated for the abutting 100 years until Rome was beat by barbarians from arctic Europe, and the authority succumbed to the aeon of black alleged the Dark Ages. Trade accomplished to abide in the West while it flourished in Byzantium and the Arab world, which had admission to gold agitated beyond the Sahara from abysmal aural Africa to trading centers like Timbuktu.
payday loans chicago

Unknown said...

With added than 20,000 lenders alms payday loans in the United States, you would be astute to boutique about a bit and acquisition the best deal. You're attractive for the everyman APR you can find, which agency that your anniversary amount of absorption will be lower. As continued as you can handle the quick borderline of the payment, you can account from payday loans.
Check Cashing

Unknown said...

Payday loans are abbreviate appellation loans which are appropriate to be paid aback by the abutting payday. Appropriately the administration of these loans is absolute short, abiding for aloof 2-3 weeks. The bulk of accommodation is baby and can ambit from £500 to £1500. The absorption bulk for this array of accommodation is on the college ancillary but back the administration is absolute baby the absolute absorption bulk does not bulk to much.
payday loans

Unknown said...

Everybody has the appropriate to annual loans to accomplish their requirements. Best of the borrowers adopt to annual loans which do not appoint any restrictions on the acceptance the loans. Now, who wouldn't demand to annual loans at a lower bulk of interest? Yes, bargain claimed loans can be the appropriate best for those attractive advanced to accomplish such needs.
Cash Advance San-diego

Unknown said...

When you accomplishment reading, you should acquire a bigger feel of what allowances there are for you aback you adjudge to get a new debit or analysis or coffer card, abnormally a debit agenda with a banknote aback congenital in.
cash advance loans

Justin said...

Best of all, there are a plenty of organizations out there willing to give you a private advance union. They will investigate your understudy credits, see where the advances originated from and what premium rates the advances convey, and after that they will get on the task instantly, conceivably sparing you hundreds, even a huge number of dollars throughout the following couple of years. payday loans chicago

Justin said...

Thus, an important component of the budgetary reserve funds new advance law will create, will be reoriented towards Pell gifts. What's more, pardoning is achievable following 20 years rather than 25 years. Check Cashing San-diego

marko said...

Understudies get longer reimbursements terms, furthermore can profit by adaptable credit prerequisites. Most usually utilized government instruction credits are Federal Stafford advances, Federal Perkins Loans and Federal PLUS advances. Payday Loans

Paulo said...

So in February, President Obama declares an imperative new instruction spending plan, and it was crowdpleaser for both poor understudies, and in addition the better-off. Government gifts for school training for poor people, the things they call Pell awards, get a great knock up. Cash Advance

Paulo said...

Most understudies are excessively youthful, making it impossible to have built up credit. Others may have had a couple flaws on their credit that would make an understudy advance almost difficult to get. payday loans san-diego

huong duong said...

I'm bored where I am living, so that when you go home I just want to chat with friends so I do not have to think any more about this place, a place where no relatives, no friends
snapchat , baixar snapchat , snapchat baixar , snapchat download , download snapchat

Unknown said...

Easily, the article is actually the best topic on this registry related issue. I fit in with your conclusions and will eagerly look forward to your next updates. Just saying thanks will not just be sufficient, for the fantasti c lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates.
baixar whatsapp. baixar whatsapp gratis. whatsapp baixar,

Unknown said...

Have you ever played in one those games where you wonder why the rest of your team-mates bothered turning up at all?
Well spare a thought for Mpumalanga batter Shania-Lee Swart, who was the only player to score a run as she hit 160 from 86 balls in a 42-run victory over Easterns during Cricket South Africa’s Under-19s week in Pretoria on Monday.
Swart’s remarkable innings included 18 fours and 12 sixes. Eight of her team-mates came and went for a grand total of no runs as her side racked up 169-8 in 20 overs. (The other nine runs were extras.) https://adamfantacy.tumblr.com/

Unknown said...

Hello there! Would you mind if I share your blog with my twitter group? There’s a lot of folks that I think would really appreciate your content. Please let me know. Thank you olienmark.ampedpages.com

Unknown said...

I didn’t feel Raffi would recognize or appreciate the pretend potty play, but he was actually interested in it and I consider it helped him that first day. My Blog http://blockbtheatre.myfreesites.net/

Unknown said...

I am not sure where you are getting your info, but great topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent information I was looking for this information for my mission. My Blog http://subscene.pen.io/

Unknown said...

It's a special point and Leica might just be starting to get it" and while lots of lovers see this video cameras as an expensive body that has less functions and also specs than rivals at half the rate, Leica knows they have a quality camera below and one that supplies one of the most pride of possession" I have actually seen in a camera, ever before. My Blog http://www.checkmycloset.com/members/profile/4254/blog-view/blog_53596.htm

frivtn100 said...

We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Great work.
Friv1
Friv Games
Friv Games

Unknown said...

Terima kasih untuk informasinya Pompa kolam renang online

Drag Racer V3 said...

I needs to spend some time learning much more or understanding more. scorehero.net

Potty Racers 2 said...


Many thank's for your great idea and article. friv4schoolonline.net

alicetaylor said...

Great post,Thanks for providing us this great knowledge,Keep it up

lennyfacetext.com

Unknown said...

Nice your post belajar bisnis online

Carruth Vallecillo said...

Banks and other vast monetary establishments normally have an advance endorsement process that makes it extremely hard to access cash.www.usacheckcashingstore.com/san-diego

sathish said...


It seems you are so busy in last month. The detail you shared about your work and it is really impressive that's why i am waiting for your post because i get the new ideas over here and you really write so well.

Selenium training in Chennai
Selenium training in Bangalore
Selenium training in Pune
Selenium Online training

saranya said...

I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.
python course institute in bangalore
python Course in bangalore
python training institute in bangalore

Triumphant Finance Company Ltd said...

Dear Customers,

We invite you all to participate in our new business and project funding program, We are currently funding for Business start-up Business developments, Business acquisition Business expansion, Project funding and Working capital etc.

This Funding program allows a client to enjoy 2% low interest rate and payback period of 1 to 35 years. We can approve a loan/funding for up to $1,800,000,000.00 or more depending on the nature of business we are currently funding for and we satisfy our customers’ financial needs and help them succeed

Application available, to apply email us via: worldwidefundservice@gmail.com

phuctrankhang said...

Great website! It looks extremely professional! Keep up the excellent job!
Y88
Dress Up Games
Minecraft Games
Girl Games

Lily said...

I Love your article. You cant visit my website : dial91 number

Anu said...

Nice Sharing..! I have been following you for a couple of months now but this is my first time commenting on a blog post. Thank you for sharing your knowledge and experience with us. Keep up the good work. Already bookmarked for future reference.
DevOps Training | Certification in Chennai | DevOps Training | Certification in anna nagar | DevOps Training | Certification in omr | DevOps Training | Certification in porur | DevOps Training | Certification in tambaram | DevOps Training | Certification in velachery



rocky said...

Nice informative content it most beautiful blog. thank you.
Python Training in Chennai

Python Training in Training

Python Training in Bangalore
Python Hyderabad

Python Training in Coimbatore


Sarthak Yadav said...

Good Post! , it was so good to read and useful to improve my knowledge as an updated one, keep blogging.After seeing your article I want to say that also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts likethis.
https://www.3ritechnologies.com/course/selenium-online-training/

Sarthak Yadav said...

Good Post! , it was so good to read and useful to improve my knowledge as an updated one, keep blogging.After seeing your article I want to say that also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts likethis.
https://www.3ritechnologies.com/course/selenium-online-trainin

Danny Danials said...

I am questioning that during this time you must deliver a try and this new app Next Chess Move Apk : which is now maximum trending app inside the global.

salome said...

Interesting to read with detailed explanation. Thanks for sharing your work . keep up the good work Angular training in Chennai

Core creator said...

Best lifetime memorable gift for your loving one. A mosaic is an image made up of several images in a single photo. It turns out that one picture is made up of several smaller pictures. Our designer team designs your photos beautifully and colorfully. Hundreds of memorable photos are displayed in one photo.

Click here

Click here

Manish said...

jbfjer fwefbwe Medspillz

Core creator said...

Liman Restaurant

The Liman Restaurant means port in the Turkish language, however the restaurant opens its doors to all aspects of the Mediterranean kitchen. The kitchen will be mostly focused on Mediterranean food.

Blck Luxury car said...

Shri Mintu's Art forayed into the online furniture space as https://shrimintus.com/
to offer value-for-money furniture made of sheesham wood to Indian consumers.
The manufacturer and online seller provides finished
as well as customised products to buyers.
Enjoy a wide variety of traditional and modern living room furniture with shri Mintus Art.

Wooden furniture

Unknown said...

WhyDonate is één van de populairste crowdfunding platforms van alle Europese landen en de Verenigde Staten
WhyDonate is niet alleen geschikt voor het opzetten van fondsenwervende campagnes, maar bevat ook vele actieve fondsenwervers waaraan men kan doneren.
Top 10 crowdfunding platforms in België

https://whydonate.com/blog/crowdfunding-platforms-in-belgie/

Unknown said...

WhyDonate is een wereldwijd fondsenwervingsplatform dat doelen op een efficiënte, relevante en plezierige manier verbindt met donateurs.
Crowdfunding platforms zoals WhyDonate zijn nu één van de meest betrouwbare manieren waar mensen van overal ter wereld geld voor elk doel kunnen inzamelen.


100 Inzamelingsactie Ideeën die u Efficiënt kunnen Helpen Geld in te zamelen voor uw Doel

Fundraising Ideas