Hadoop: The Definitive Guide Paperback – 15 Oct 2010
Customers Who Viewed This Item Also Viewed
Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
About the Author
Tom White has been an Apache Hadoop committer since February 2007, and is a member of the Apache Software Foundation. He works for Cloudera, a company set up to offer Hadoop support and training. Previously he was as an independent Hadoop consultant, working with companies to set up, use, and extend Hadoop. He has written numerous articles for O'Reilly, java.net and IBM's developerWorks, and has spoken at several conferences, including at ApacheCon 2008 on Hadoop. Tom has a Bachelor's degree in Mathematics from the University of Cambridge and a Master's in Philosophy of Science from the University of Leeds, UK.
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Unfortunately, all example code is based on an old version of the Hadoop API (even in this second edition).
I found it to be an easy simple read with many examples. I was able to get through half the book in a day whilst doing some practical work alongside it.
Most Helpful Customer Reviews on Amazon.com (beta)
For those not familiar with the first edition, Hadoop: The Definitive Guide is exactly what it claims to be. If you're not already familiar with Hadoop, the first and second chapters (Meet Hadoop and MapReduce, respectively) take you through the basics in both concept as well as code. For those used to writing data processing applications, the rationale behind Hadoop and why it's useful are immediately apparent. If you've already been exposed to Hadoop, these chapters may be redundant but they're worth reading anyway the first time through.
The chapter on HDFS does a great job at explaining the underbelly of Hadoop's distributed file system including the Java APIs. The section on Hadoop IO is probably introduced a bit too early - Hadoop newbies probably don't care about compression and serialization prior to reading about map reduce - but excellent none the less in its detail. That said, you'll *really* want to go back and read it to understand the details of how compression codecs work after you learn more about map reduce.The "Writing a Map Reduce Application" chapter is probably the one existing users of Hadoop will skip. First timers will definitely get a lot out of a step by step walk through of a Java MR job from beginning to end.
The chapters on how map reduce works, types and formats (including input / output format details), and the advanced features (counters, sorting, the distributed cache, join libraries) are the ones you'll reread and reference constantly. The explanation, for instance, on how input splits are calculated demystifies the border between HDFS and the map reduce layer (and finally answers the question of "how does Hadoop know not to split in the middle of a record?"). Buy this book for these chapters, if not for the others.
The chapters on HBase, Pig, ZooKeeper, and Sqoop are excellent and, in some cases, the best reference on the topic to date.
There are enough corrections, updates, and new chapters that it's worth buying the second edition if you already have the first. For anyone new to Hadoop this is a must have. If you already use Hadoop the later chapters are what you're looking for; a deep explanation of not just "how," but "why."
Some reviewers have noted the discussion of deprecated APIs. This really isn't a flaw of the book, but of premature deprecation within Hadoop itself. The newer APIs didn't have all the features of the old and anyone writing production map reduce jobs would wind up needing a lot of those features. I think the author does a great job with a tough situation while still alerting the reader that newer APIs are on the horizon. Besides, the differences are so few that it's almost not worth mentioning. While APIs may change, the core design, execution model, and architecture of Hadoop haven't changed and this is the best book on the subject.
Other reviewers gave poor reviews due to the APIs being not up to date, which I think is unfair. Those new APIs are still only available in early unstable Hadoop versions, so current developers are best served to use the earlier APIs. The book gives samples with new APIs and shows very clearly the API changes which are minor. The concepts are identical, but a few classes have been combined into a more cohesive "Context" class in the new APIs.
So, for example, to write a data record you call "context.collect(...);" rather than "output.collect(...);" with identical parameters. The structure of applications and the concepts are not changed. The changes to the syntax of Java calls is trivial and covered in the book very clearly. What is the big deal? Understanding the concepts is the most important thing and this book provides this very nicely.
I would recommend this book to anyone who is new to Hadoop and needs to learn it in depth.
I think it's a bad idea trying to publish a book on a rapidly changing community project like Hadoop. I found the Cloudera (free) training materials much more helpful.