Synopses & Reviews
Hadoop: The Definitive Guide helps you harness the power of your data. Ideal for processing large datasets, the Apache Hadoop framework is an open source implementation of the MapReduce algorithm on which Google built its empire. This comprehensive resource demonstrates how to use Hadoop to build reliable, scalable, distributed systems: programmers will find details for analyzing large datasets, and administrators will learn how to set up and run Hadoop clusters.
Complete with case studies that illustrate how Hadoop solves specific problems, this book helps you:
- Use the Hadoop Distributed File System (HDFS) for storing large datasets, and run distributed computations over those datasets using MapReduce
- Become familiar with Hadoop's data and I/O building blocks for compression, data integrity, serialization, and persistence
- Discover common pitfalls and advanced features for writing real-world MapReduce programs
- Design, build, and administer a dedicated Hadoop cluster, or run Hadoop in the cloud
- Use Pig, a high-level query language for large-scale data processing
- Take advantage of HBase, Hadoop's database for structured and semi-structured data
- Learn ZooKeeper, a toolkit of coordination primitives for building distributed systems
If you have lots of data -- whether it's gigabytes or petabytes -- Hadoop is the perfect solution. Hadoop: The Definitive Guide is the most thorough book available on the subject.
"Now you have the opportunity to learn about Hadoop from a master-not only of the technology, but also of common sense and plain talk."-- Doug Cutting, Hadoop Founder, Yahoo!
Organizations large and small are adopting Apache Hadoop to deal with huge application data sets, and this comprehensive resource provides the key for unlocking the wealth this data holds.
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.
Table of Contents
Foreword; Preface; Administrative Notes; What's in This Book?; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Meet Hadoop; 1.1 Data!; 1.2 Data Storage and Analysis; 1.3 Comparison with Other Systems; 1.4 A Brief History of Hadoop; 1.5 The Apache Hadoop Project; Chapter 2: MapReduce; 2.1 A Weather Dataset; 2.2 Analyzing the Data with Unix Tools; 2.3 Analyzing the Data with Hadoop; 2.4 Scaling Out; 2.5 Hadoop Streaming; 2.6 Hadoop Pipes; Chapter 3: The Hadoop Distributed Filesystem; 3.1 The Design of HDFS; 3.2 HDFS Concepts; 3.3 The Command-Line Interface; 3.4 Hadoop Filesystems; 3.5 The Java Interface; 3.6 Data Flow; 3.7 Parallel Copying with distcp; 3.8 Hadoop Archives; Chapter 4: Hadoop I/O; 4.1 Data Integrity; 4.2 Compression; 4.3 Serialization; 4.4 File-Based Data Structures; Chapter 5: Developing a MapReduce Application; 5.1 The Configuration API; 5.2 Configuring the Development Environment; 5.3 Writing a Unit Test; 5.4 Running Locally on Test Data; 5.5 Running on a Cluster; 5.6 Tuning a Job; 5.7 MapReduce Workflows; Chapter 6: How MapReduce Works; 6.1 Anatomy of a MapReduce Job Run; 6.2 Failures; 6.3 Job Scheduling; 6.4 Shuffle and Sort; 6.5 Task Execution; Chapter 7: MapReduce Types and Formats; 7.1 MapReduce Types; 7.2 Input Formats; 7.3 Output Formats; Chapter 8: MapReduce Features; 8.1 Counters; 8.2 Sorting; 8.3 Joins; 8.4 Side Data Distribution; 8.5 MapReduce Library Classes; Chapter 9: Setting Up a Hadoop Cluster; 9.1 Cluster Specification; 9.2 Cluster Setup and Installation; 9.3 SSH Configuration; 9.4 Hadoop Configuration; 9.5 Post Install; 9.6 Benchmarking a Hadoop Cluster; 9.7 Hadoop in the Cloud; Chapter 10: Administering Hadoop; 10.1 HDFS; 10.2 Monitoring; 10.3 Maintenance; Chapter 11: Pig; 11.1 Installing and Running Pig; 11.2 An Example; 11.3 Comparison with Databases; 11.4 Pig Latin; 11.5 User-Defined Functions; 11.6 Data Processing Operators; 11.7 Pig in Practice; Chapter 12: HBase; 12.1 HBasics; 12.2 Concepts; 12.3 Installation; 12.4 Clients; 12.5 Example; 12.6 HBase Versus RDBMS; 12.7 Praxis; Chapter 13: ZooKeeper; 13.1 Installing and Running ZooKeeper; 13.2 An Example; 13.3 The ZooKeeper Service; 13.4 Building Applications with ZooKeeper; 13.5 ZooKeeper in Production; Chapter 14: Case Studies; 14.1 Hadoop Usage at Last.fm; 14.2 Hadoop and Hive at Facebook; 14.3 Nutch Search Engine; 14.4 Log Processing at Rackspace; 14.5 Cascading; 14.6 TeraByte Sort on Apache Hadoop; Installing Apache Hadoop; Prerequisites; Installation; Configuration; Cloudera's Distribution for Hadoop; Prerequisites; Standalone Mode; Pseudo-Distributed Mode; Fully Distributed Mode; Hadoop-Related Packages; Preparing the NCDC Weather Data; Colophon;