Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
MapReduce design patterns : building effective algorithms and analytics for Hadoop and other systems
Miner D., Shook A., O’Reilly Media, Inc., Sebastopol, CA, 2013. 230 pp. Type: Book (978-1-449327-17-0)
Date Reviewed: Aug 22 2014

Design patterns for complex software tasks are generic, reusable code templates for common solution components. Such patterns have been developed and published for modern programming languages like Java, and have aided in creating software for cloud computing and big data platforms.

One of the major components of big data solutions has been Google’s MapReduce framework for processing large datasets, implemented in Apache’s open-source Hadoop project. Big data software developers need guidance in using MapReduce to build software that addresses common use cases related to the access and analysis of very large datasets consisting of unstructured content or rapidly streaming input.

This book provides useful background on the use of MapReduce and Hadoop, but it is not a tutorial for developers new to those tools; the book assumes prior knowledge and experience. Design patterns for common use cases are presented, including the more common summarizing and counting tasks, and the sampling and filtering tasks. Each pattern is presented in a common format that details the intent of the pattern, its applicability, structure, and typical output, and also provides hints about optimizing its performance.

All of the code examples are given in Java for Hadoop version 1.0.3. Apache Hadoop is well into its 2.2 release cycle at this writing, so the code examples in the book are somewhat limited in applicability. The Java code is well commented and explained in each of the chapters, however, and experienced developers can gain important insights even from that earlier code.

Chapter 5 covers an important pattern--joins, which are used to combine data from multiple sources. The chapter includes a review of SQL joins as an intro to the similar but somewhat more difficult methods used in MapReduce. The authors do include some discussion and examples using the Apache Pig language for simplifying joins and other data analysis tasks.

Although Google has moved on and replaced its MapReduce implementation with the more scalable Dataflow, there are still many current big data problems applicable to MapReduce. For those experienced developers working on such implementations, this book is a useful reference.

More reviews about this item: Amazon

Reviewer:  Harry J. Foxwell Review #: CR142643 (1411-0919)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Patterns (D.3.3 ... )
 
 
Concurrent, Distributed, And Parallel Languages (D.3.2 ... )
 
 
Distributed Programming (D.1.3 ... )
 
 
Concurrent Programming (D.1.3 )
 
 
Distributed Systems (C.2.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Patterns": Date
Java design patterns: a tutorial
Cooper J., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2000.  329, Type: Book (9780201485394)
Mar 1 2000
Open pattern matching for C++
Solodkyy Y., Dos Reis G., Stroustrup B.  GPCE 2013 (Proceedings of the 12th International Conference on Generative Programming: Concepts & Experiences, Indianapolis, IN, Oct 27-28, 2013)33-42, 2013. Type: Proceedings
Jan 29 2014
Cyberpatterns: unifying design patterns with security and attack patterns
Blackwell C., Zhu H., Springer Publishing Company, Incorporated, New York, NY, 2014.  264, Type: Book (978-3-319044-46-0)
Sep 11 2014
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy